Python可视化

python爬取某网站电影下载地址

2019-06-20  本文已影响175人  9ba4bd5525b9

背景:自己有台电脑要给老爸用,老爷子喜欢看一些大片,但是家里网络环境不好,就想批量下载一些存到电脑里。但是目前大部分的网站都是这样的,

需要一个个地点进去,才能看到下载地址

如果我要下载100部电影,那肯定手都要点断了,于是便想把这些地址给爬取出来,迅雷批量下载。

工具:python(版本3.x)

爬虫原理:网页源代码中含有下载地址,把这些零散的地址批量保存到文件中,方便使用。

干货:首先上代码,迫不及待的你可以先运行一下,再看详细介绍。

核心模块getdownurl函数:通过requests来获取页面信息,可以认为这个信息的text就是页面源代码(几乎任何一款浏览器右键都有查看网页源代码的选项),再通过re.compile正则表达式匹配的方式来匹配到网页源代码中的网址部分,可以看下图

 这部分怎么提取呢?通过正则表达式匹配。怎么写这个正则表达式呢?这里用到一个简单粗暴的方法:

<a href="ftp(.*?)">ftp

爬虫中经常用到.*?来做非贪婪匹配(专业名词请百度),你可以简单认为这个(.*?)就代表你想要爬取出来的东西,这样的东西在每个网页源码中都是夹在<a href="ftp和">ftp之间的。有人可能会问,那这个匹配出来的不是网址啊,比如上图中出来的就是://d:d@dygodj8.com:12311/[电影天堂www.dy2018.com]请以你的名字呼唤我BD中英双字.mp4,前面少了个ftp啊?

是的,不过这是故意为之,如果正则表达式写成<a href="(.*?)">ftp,可能夹在<a href="和">ftp之间的东西就太多了,二次处理的成本还不如先用你觉得最快最直接的方式抽取有用信息,然后再进行拼接来得快。

运行及结果

上一篇下一篇

猜你喜欢

热点阅读