国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現Youku視頻批量下載功能

2019-11-25 16:19:14
字體:
來源:轉載
供稿:網友

前段時間由于收集視頻數據的需要,自己搗鼓了一個YouKu視頻批量下載的程序。東西雖然簡單,但還挺實用的,拿出來分享給大家。

  版本:Python2.7+BeautifulSoup3.2.1

import urllib,urllib2,sys,osfrom BeautifulSoup import BeautifulSoupimport itertools,reurl_i =1pic_num = 1#自己定義的引號格式轉換函數def _en_to_cn(str):  obj = itertools.cycle(['“','”'])  _obj = lambda x: obj.next()  return re.sub(r"['/"]",_obj,str)if __name__ == '__main__':  #下載連續3個網頁的視頻  while url_i <= 3:    webContent = urllib2.urlopen("http://news.youku.com/focus/index/_page26716_" + str(url_i) + ".html")    data = webContent.read()    #利用BeautifulSoup讀取視頻列表網頁數據    soup = BeautifulSoup(data)    print "-------------------------Page " + str(url_i) + "-------------------------"    #獲得相應頁面的視頻thumbnail和title的list    tag_list_thumb = soup.findAll('li','v_thumb')    tag_list = soup.findAll('li', "v_title")    for item in tag_list:      #通過每個thumbnail中的herf導向視頻播放頁面      web_video_play = urllib2.urlopen(item.a['href'])      data_vp = web_video_play.read()      #利用BeautifulSoup讀取視頻播放網頁數據      soup_vp = BeautifulSoup(data_vp)      #找到“下載”對應的鏈接      tag_vp_list = soup_vp.findAll('a', id = 'fn_download')      for item_vp in tag_vp_list:        #將下載鏈接保存到url_dw中        url_dw = '"' + item_vp['_href'] + '"'        print item.a['title'] + ": " + url_dw        #調用命令行運行iku下載視頻,需將iku加入環境變量        os.system("iku " + url_dw)    #保存每個視頻的thumbnail    for item_thumb in tag_list_thumb:      urllib.urlretrieve(item_thumb.img['src'], "E://下載視頻//thumbnails//" + str(pic_num) + "." +                _en_to_cn(item_thumb.img['title']) + ".jpg")      pic_num += 1    print "--------------------------------------------------------------"    print "--------Page " + str(url_i) + "'s video thumbnails have been saved!"    url_i += 1

  程序思想很簡單,就是通過解析網頁數據找到相應的視頻播放網頁鏈接,然后根據播放頁面找到下載的鏈接,如下圖所示:

  由于從網頁數據中獲得的下載鏈接是必須通過youku自己的iku才能下載的。這一點費了我一番周折,僥幸發現iku這個軟件的命令行非常簡單(直接iku download_link即可),所以最簡單的辦法就是利用Python中的命令行接口os.system來調用iku來下載視頻。另外注意程序運行之前需要先啟動iku,否則下載完一個視頻就要再啟動一次。

PS:下載視頻的時候就會發現,國內這些視頻網頁做的真的不夠精細,含有太多的重復鏈接和壞死鏈接,小小鄙視一下。

以上所述是小編給大家介紹的Python實現Youku視頻批量下載功能,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 房产| 尉氏县| 湘潭市| 惠安县| 桃园市| 郧西县| 渭源县| 陆河县| 衡南县| 天水市| 克拉玛依市| 临海市| 凉城县| 方正县| 马边| 包头市| 柘城县| 抚州市| 博兴县| 四子王旗| 丰台区| 乌兰察布市| 南安市| 久治县| 铜鼓县| 罗定市| 宝丰县| 永胜县| 芷江| 新平| 鄂尔多斯市| 闽清县| 鹰潭市| 安阳市| 宜川县| 兴安盟| 天峻县| 桃园县| 广宗县| 什邡市| 凯里市|