PHP前端开发

利用Python实现Youku视频批量下载功能实例

百变鹏仔 3周前 (02-08) #Python
文章标签 批量

前段时间由于收集视频数据的需要,自己捣鼓了一个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 <p></p><p>程序思想很简单,就是通过解析网页数据找到相应的视频播放网页链接,然后根据播放页面找到下载的链接,如下图所示:</p><p style="text-align: center"><img src="http://files.jb51.net/file_images/article/201703/201731491516606.png?201721491529" alt="利用Python实现Youku视频批量下载功能实例"    style="max-width:90%"  style="max-width:90%" title="利用Python实现Youku视频批量下载功能实例"></p><p>由于从网页数据中获得的下载链接是必须通过youku自己的iku才能下载的。这一点费了我一番周折,侥幸发现iku这个软件的命令行非常简单(直接iku download_link即可),所以最简单的办法就是利用Python中的命令行<a href="http://www.php.cn/code/11829.html" target="_blank">接口</a>os.system来调用iku来下载视频。另外注意程序运行之前需要先启动iku,否则下载完一个视频就要再启动一次。</p><p><span>立即学习</span>“<a href="https://pan.quark.cn/s/00968c3c2c15" style="text-decoration: underline !important; color: blue; font-weight: bolder;" rel="nofollow" target="_blank">Python免费学习笔记(深入)</a>”;</p><p>PS:下载视频的时候就会发现,国内这些视频网页做的真的不够精细,含有太多的重复链接和坏死链接,小小鄙视一下。</p>