欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2017年03月14日 09:20:27   作者:J_Outsider  
前段時間由于收集視頻數據的需要,自己搗鼓了一個YouKu視頻批量下載的程序。下面小編把實現過程分享到腳本之家平臺,供大家參考

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

  版本:Python2.7+BeautifulSoup3.2.1

import urllib,urllib2,sys,os
from BeautifulSoup import BeautifulSoup
import itertools,re
url_i =1
pic_num = 1
#自己定義的引號格式轉換函數
def _en_to_cn(str):
  obj = itertools.cycle(['“','”'])
  _obj = lambda x: obj.next()
  return re.sub(r"['\"]",_obj,str)
if __name__ == '__main__':
  #下載連續(xù)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加入環(huán)境變量
        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才能下載的。這一點費了我一番周折,僥幸發(fā)現iku這個軟件的命令行非常簡單(直接iku download_link即可),所以最簡單的辦法就是利用Python中的命令行接口os.system來調用iku來下載視頻。另外注意程序運行之前需要先啟動iku,否則下載完一個視頻就要再啟動一次。

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

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

相關文章

  • python?sns.countplot()?繪畫條形圖詳情

    python?sns.countplot()?繪畫條形圖詳情

    這篇文章主要介紹了python?sns.countplot()繪畫條形圖詳情,sns.countplot()用于畫類別特征的頻數條形圖,更多相關內容需要的朋友可以參考一下
    2022-06-06
  • 解決nohup執(zhí)行python程序log文件寫入不及時的問題

    解決nohup執(zhí)行python程序log文件寫入不及時的問題

    今天小編就為大家分享一篇解決nohup執(zhí)行python程序log文件寫入不及時的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • python調用文字識別OCR輕松搞定驗證碼

    python調用文字識別OCR輕松搞定驗證碼

    本文主要介紹了python調用文字識別OCR輕松搞定驗證碼,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Python調用百度AI實現顏值評分功能

    Python調用百度AI實現顏值評分功能

    這篇文章主要介紹了應用百度AI的人臉識別功能對年齡、性別、顏值等進行識別,代碼具有一定的學習價值,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • Pytorch DataLoader shuffle驗證方式

    Pytorch DataLoader shuffle驗證方式

    這篇文章主要介紹了Pytorch DataLoader shuffle驗證方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • django將圖片上傳數據庫后在前端顯式的方法

    django將圖片上傳數據庫后在前端顯式的方法

    今天小編就為大家分享一篇django將圖片上傳數據庫后在前端顯式的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python學習教程之常用的內置函數大全

    Python學習教程之常用的內置函數大全

    python給我們提供了很多已經定義好的函數,下面這篇文章主要給大家介紹了關于Python學習教程之一些常用的內置函數,文中分享了關于數學函數、功能函數、類型轉換函數、字符串處理和序列處理函數的相關資料,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-07-07
  • Python中使用Tkinter模塊創(chuàng)建GUI程序實例

    Python中使用Tkinter模塊創(chuàng)建GUI程序實例

    這篇文章主要介紹了Python中使用Tkinter模塊創(chuàng)建GUI程序實例,本文給出了創(chuàng)建窗口、文本框、按鈕等實例,需要的朋友可以參考下
    2015-01-01
  • python 集合常用操作匯總

    python 集合常用操作匯總

    這篇文章主要介紹了python 集合常用操作匯總的相關資料,需要的朋友可以參考下
    2022-12-12
  • python Popen 獲取輸出,等待運行完成示例

    python Popen 獲取輸出,等待運行完成示例

    今天小編就為大家分享一篇python Popen 獲取輸出,等待運行完成示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12

最新評論