Python 爬虫批量下载美剧 from 人人影视 HR-HDTV

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 爬虫批量下载美剧 from 人人影视 HR-HDTV相关的知识,希望对你有一定的参考价值。

本人比較喜欢看美剧。尤其喜欢人人影视上HR-HDTV 的 1024 分辨率的高清双字美剧,这里写了一个脚本来批量获得指定美剧的全部 HR-HDTV 的 ed2k下载链接。并依照先后顺序写入到文本文件,供下载工具进行批量下载。比方用迅雷。先打开迅雷,然后复制全部下载链接到剪切板,迅雷会监视剪切板来新建全部任务。假设迅雷没有自己主动监视,能够自己点击新建然后粘贴链接。Python源码例如以下。用的是Python3 :

# python3 实现,以下的实例 3 部美剧爬完大概要 10 s
import urllib.request
import re


def get_links(url, name=‘yyets‘):
    data = urllib.request.urlopen(url).read().decode()
    pattern = ‘"(ed2k://\\|file\\|[^"]+?\\.(S\\d+)(E\\d+)[^"]+?

1024X\\d{3}[^"]+?)"‘ linksfind = set(re.findall(pattern, data)) linksdict = {} total = len(linksfind) for i in linksfind: linksdict[int(i[1][1:3]) * 100 + int(i[2][1:3])] = i with open(name + ‘.txt‘, ‘w‘) as f: for i in sorted(list(linksdict.keys())): f.write(linksdict[i][0] + ‘\\n‘) print(linksdict[i][0]) print("Get download links of: ", name, str(total)) if __name__ == ‘__main__‘: #---------- 越狱、无耻之徒、权力的游戏--------------------------- get_links(‘http://www.yyets.com/resource/10004‘, ‘prision_break‘) get_links(‘http://www.yyets.com/resource/10760‘, ‘shameless‘) get_links(‘http://www.yyets.com/resource/d10733‘,‘Game_of_Thrones‘) print(‘All is okay!‘)

这个 python 爬虫比較短,就用到了 urllib.request 和 re 这两个模块,前者负责抓取网页,后者负责解析文本。

人人影视并没有限制爬虫訪问。所以这里无需改动 HTTP head的 User-Agent ,对于某些屏蔽爬虫的网页,就须要改动下 User-Agent  这个值了。一个做法例如以下:用 urllib.request 中 Request 类的构造函数构造一个 Request 对象,构造函数中给自己给 headers (字典)中 User-Agent 属性 赋值,然后将这个对象传入到本模块的 urlopen() 中。就能够将爬虫伪装成一个浏览器进行网页抓取了。比方。CSDN 就是屏蔽了爬虫的。须要改动一下 User-Agent 的值,例如以下:

import urllib.request

url = ‘http://blog.csdn.net/csdn‘
head={‘User-Agent‘: ‘Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; Trident/6.0)‘}
req = urllib.request.Request(url, headers=head)
data = urllib.request.urlopen(req, timeout=2).read().decode()
print(data)

抓取完网页就是对 HTML 文档的解析了。这里使用的是正則表達式模块,对于特定单一的内容很方便。假设须要较复杂的解析能够用 pyquery 或者 Beautiful Soup, 它们是用Python写的 HTML/XML 的解析器。当中 pyquery 是 jquery 风格,更加的好用

关于正則表達式这里推荐一个工具 RegexBuddy ,拥有强大的正則表達式调试功能,上面脚本中的正則表達式就使用了这个工具进行调试。这篇关于Python正则的博文非常不错: Python 正則表達式指南技术分享

想进一步加强爬虫的功能,能够用爬虫框架 Scrapy,这是 Scrapy 的官方tutoria 。还有就是,假设网页内容多是 javascript 生成。那么就须要一个 js 引擎了,PyV8 能够拿来试试,再有就是基于 js 做爬虫。如用 casperJS 和 phantomJS.

【地址:http://blog.csdn.net/thisinnocence/article/details/39997883】


以上是关于Python 爬虫批量下载美剧 from 人人影视 HR-HDTV的主要内容,如果未能解决你的问题,请参考以下文章

Python爬虫爬取美剧网站

python爬虫美剧下载

人人影视创始人被判刑,“供学习交流”的盗版还安全吗?

五行代码实现 炫动滑动 卡片层叠布局,仿探探人人影视订阅界面 简单&优雅:LayoutManager+ItemTouchHelper

用群晖ds218play下载人人影视中的视频

即不充值影视Vip,也不去电影院,为何Python爬虫师是这种人?