天天看點

linux、ubuntu下使用python3下載下傳優酷視訊

最近在學python爬蟲,上司讓爬蟲時下載下傳優酷的視訊練手。打開優酷的視訊發現下載下傳比較麻煩,還要登入用戶端,而優酷官方沒有提供優酷的linux版本。

python版本3.4,ubuntu版本14.04

打開優酷視訊播放的界面,F12下沒有找到直接下載下傳的連結(想想也是,直接暴露下載下傳連結也太low了)。

折磨了兩天沒有完成,感覺要被鄙視了。

最後走了捷徑,通過調用you-get的接口來下載下傳,步驟以及代碼如下,供大家參考,由于代碼較low,大神别噴。。。。。。

#encoding:UTF-8
import urllib.request
from urllib.request import quote
import re
import os

url = 'http://www.soku.com/search_video/q_'+quote('萬萬沒想到')
#經觀察發現,優酷視訊的搜尋結果連接配接是http://xxx/q_xxx形式,quote函數編碼中文問題。大家也可以自己寫入資料,爬自己想要的搜尋結果,這裡簡單起見不寫了。
data = urllib.request.urlopen(url).read()
data = data.decode('UTF-8')
#發現優酷播放的視訊連接配接如下所示,參考寫正規表達式,擷取自己想要的連結
#http://v.youku.com/v_show/id_XMTM3NjIxNjMzMg==.html?spm=a2h0k.8191407.0.0&from=s1.8-1-1.1
#這裡使用非貪婪的方式,本人較菜,大家可以用自己的爬蟲結果
pattern = re.compile('http://v.youku.com/v_show/id_.*?["|\']')
list = re.findall(pattern,data)
for temp in list:
#這裡調用you-get的腳本來下載下傳temp是播放連結
    os.system('python3.4 /tmp/you-get/you-get-master/you-get '+temp.replace('"',''))
           

然後運作,就可以下載下傳視訊了。

you-get安裝方式如下;

1、wget https://github.com/soimort/you-get/archive/master.zip

2、mkdir /tmp/you-get

3、unzip -o -d /tmp/you-get/  master.zip

這裡you-get安裝在/tmp/you-get下,也可以安裝在其他目錄,代碼中的調用you-get的路徑也要跟着改變。

好了,也就水水的下載下傳視訊吧。

如遇到代碼問題,可以自行調一下格式問題,python按照縮進來的。