下载优酷视频 基于python2
来源:互联网 发布:星星java模拟器 编辑:程序博客网 时间:2024/05/01 14:24
参考于 http://blog.csdn.net/littlethunder/article/details/18230859
下载优酷视频 基于python2
import reimport urllib2import jsonimport timeimport randomimport sysdef getVideoInfo(url): ruleTitle=re.compile('<title>(.*)</title>') ruleId=re.compile('http://v.youku.com/v_show/id_(.*).html') videoTitle=ruleTitle.findall(urllib2.urlopen(url).read().decode('utf8')) videoId=ruleId.findall(url) return videoTitle[0],videoId[0]def getTrueLink(videoid): data=urllib2.urlopen('http://v.youku.com/player/getPlayList/VideoIDS/'+videoid) info=json.loads(data.read().decode('utf8')) segs=info['data'][0]['segs'] types=segs.keys() seed=info['data'][0]['seed'] source=list("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ/\\:._-1234567890") mixed='' while source: seed=(seed*211+30031)&0xFFFF index=seed*len(source)>>16 c=source.pop(index) mixed+=c ids=info['data'][0]['streamfileids']['flv'].split('*')[:-1] vid=''.join(mixed[int(i)] for i in ids) sid='%s%s%s'%(int(time.time()*1000),random.randint(1000,1999),random.randint(1000,9999)) urls=[] for s in segs['flv']: no='%02x'%int(s['no']) url='http://f.youku.com/player/getFlvPath/sid/%s_%s/st/flv/fileid/%s%s%s?K=%s&ts=%s'%(sid,no,vid[:8],no.upper(),vid[10:],s['k'],s['seconds']) urls.append(url) return urlsdef down2file(urls, filename): f=open(filename, 'wb') fileNum=len(urls) count=0 for url in urls: count+=1 print('downloading file %d/%d'%(count,fileNum)) req=urllib2.Request(url,headers={'Referer':'http://www.youku.com'}) data=urllib2.urlopen(req).read() f.write(data) f.close() print('download '+filename+' OK!')def youkuDown(link): videotitle,videoid=getVideoInfo(link) urls=getTrueLink(videoid) down2file(urls,videotitle+'.flv')if __name__ == '__main__': url = 'http://v.youku.com/v_show/id_XNzE0NzkyMTky.html' videotitle, videoid = getVideoInfo(url) urls = getTrueLink(videoid) down2file(urls, videotitle+'.flv')
0 0
- 下载优酷视频 基于python2
- 下载优酷视频
- 优酷视频下载器 优酷视频下载方法
- matplotlib 和 numpy下载与安装(基于Python2.7.9)
- 怎样下载优酷视频?
- 怎样下载优酷视频
- 如何下载优酷视频
- 优酷视频下载爬虫
- 最好的FLV视频下载器 维棠 (支持优酷视频下载、土豆视频下载等)
- 如何直接下载优酷视频?不用优酷下载器下载视频方法技巧
- 优酷等视频网站的视频怎么下载
- 火狐浏览器下载腾讯视频优酷视频组件
- 如何下载优酷土豆、新浪等视频网站视频
- 用awk下载优酷视频
- 用awk下载优酷视频
- 直接在优酷下载视频
- .net下载优酷1080P视频
- Python2 简单下载模板
- 我的第一个javascript
- UVa:123 - Searching Quickly
- Android学习日志05__真机调试方法
- CRM与ERP的区别和联系
- linux shell date用法
- 下载优酷视频 基于python2
- OpenCV 入门级二
- Android中Intent的应用(二)--在进行页面跳转的同时传值
- qt所遇到的问题
- 为什么不能在构造函数中调用shared_from_this
- Matlab爬虫程序
- XML
- Linux命令who am i,who,whoami
- jvm学习笔记