人民的名义
来源:互联网 发布:淘宝怎么开多个店铺 编辑:程序博客网 时间:2024/04/25 23:45
当时追剧的时候写的。www.h6080.com还是由不少好东西。用到了wget和progressbar,需要的朋友可以借鉴下。
import requestsfrom lxml import etreeimport refrom multiprocessing import Poolimport wgetimport progressbardef get_page_url(): ls1 = range(1, 32) ls2 = range(37, 61) ls1.extend(ls2) return ['http://www.h6080.com/play/24892/1/{}.html'.format(i) for i in ls1]def get_video_url(page_url): response = requests.get(page_url).text selector = etree.HTML(response.encode('utf-8')) x = selector.xpath('//*[@id="player"]/script/text()') return re.findall('src="(.*?)&', x[0])[0]def get_mp4(video_url): text = requests.post(video_url, headers=headers).text return re.findall("video=.'(.*)']", text.encode('utf-8'))[0]def save_mp4_urls(video_urls): with open('mp4_urls.txt', 'w')as f: for i, video_url in enumerate(video_urls): f.write(str(i + 1) + ' ' + video_url + '\n')def read_mp4_urls(filename): with open(filename, 'r')as f: urls = f.readlines() return [re.findall(' (.*?)\\n', i)[0] for i in urls]if __name__ == '__main__': headers = {'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:22.0) Gecko/20100101 Firefox/22.0'} ''' video_urls = map(get_video_url, get_page_url()) mp4_urls = map(get_mp4, video_urls) print len(video_urls) print mp4_urls save_mp4_urls(mp4_urls) ''' mp4_urls = read_mp4_urls('mp4_urls.txt') bar = progressbar.ProgressBar() for i, url in bar(enumerate(mp4_urls)): filename = str(i + 1) + '.mp4' print filename wget.download(url, filename) ''' p = Pool(4) for index, url in bar(enumerate(mp4_urls)): filename = str(index+1)+'.mp4' p.apply_async(wget.download, (url, filename, )) p.close() p.join() '''
阅读全文
0 0
- 人民的名义
- 人民的名义
- 人民的名义
- 人民的名义
- 人民的名义
- 《人民的名义》小结
- 《人民的名义》评论分析
- 一张图看晕人民的名义
- 《人民的名义》番外篇——测试的名义
- 以“人民的名义”劝你快去读点书
- 《人民的名义》开挂霸屏,我们如何戏里戏外看安防?
- 《人民的名义》第二部剧情简介
- 《人民的名义》之陆毅的演技
- 基于networkx的《人民的名义》人物关系图
- 人民的名义中最受欢迎的是谁?
- “人民的名义”里的程序员生活哲学
- 人民的名义:体制内外都不欢迎“半心人”
- 【正一专栏】人民的名义为何这么火
- 比特币常用术语
- PyTorch在64位Windows下的Conda包
- BZOJ 4198 [Noi2015 D2T1] 荷马史诗
- 基于MFC的俄罗斯方块小游戏(一)
- centos7.3装mariadb(mysql)
- 人民的名义
- 乘积最大
- 快递公司业务管理系统将快递单信息转换为PDF
- How to use a reverse shell in Metasploit
- 自定义选择符, 和DOM的遍历
- 数独问题
- Android7.0实现头像更换功能
- H5开发:常见H5开发兼容问题
- 简化以下程序,将两个 for 循环都替换为标准的 C++ 算法