天天看点

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按照缩进来的。