1. 程式人生 > >利用Python爬取YouTube上的視訊播放地址

利用Python爬取YouTube上的視訊播放地址

開啟www.youtube.com, 隨便選擇一個topic(我這裡選的是lion king),再過濾選擇時長小於4分鐘


右鍵檢視原始碼資訊

紅色框內的就是視訊的地址,利用正則表示式,很容易的就可以輸出視訊地址

# coding:utf-8

import re
import urllib

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html
  
def getUrl(html):
    reg = r"(?<=a\shref=\"/watch).+?(?=\")"
    urlre = re.compile(reg)
    urllist = re.findall(urlre,html)
    format = "https://www.youtube.com/watch%s\n"
    f = open("E:\output.txt", 'a')
    for url in urllist:
        result = (format % url)
        f.write(result)
    f.close()

pages = 10
for i in range(1,pages):
    html = getHtml("https://www.youtube.com/results?search_query=lion+king&lclk=short&filters=short&page=%s" % i)
    print getUrl(html)
    i += 1

我這裡是輸出了10個網頁的視訊地址到output.txt文件中。