一篇文章教会你利用Python网络爬虫获取电影天堂视频下载链接

简介:

【一、项目背景】

相信大家都有一种头疼的体验,要下载电影特别费劲,对吧?要一部一部的下载,而且不能直观的知道最近电影更新的状态。

今天小编以电影天堂为例,带大家更直观的去看自己喜欢的电影,并且下载下来。

【二、项目准备】

首先 我们第一步我们要安装一个Pycharm的软件。Pycharm软件安装可以看这篇教程:Python环境搭建—安利Python小白的Python和Pycharm安装详细教程。

电影天堂网的网址:

https://www.ygdy8.net/html/gndy/dyzz/list_23_1.html
我们需要下载几个库,怎么下载呢?首先打开Pycharm点击File再点开setting。

打开后会出现这个界面点击你的项目名字(project:(你的项目名字))project interpreter点击加号下载我们需要的库本项目需要(requests,requests,time,re模块),如下图所示。

如果不会加载解释器的话,可以参考这篇手把手教程:安装好Pycharm后如何配置Python解释器简易教程。

如果还缺少相应库的话,可以按照如下方式进行下载和安装。

【三、项目实施】

我们需要(requests,requests,time,re模块 ),如下图所示。
用封装方法去实现各个部分功能。首先要写一个框架 :构造一个类FilmSky 然后定义一个—init方法里继承(self),再定义一个主方法(main)。最后实现这个main方法。代码如下:
这个time是用于防止反爬,设置的时间延时。

 首先我们来分析一下这个网址下一页得到特点。
通过点击了三页我们会发现地址都是在原有的基础上“23—3,4,5”这样的变化。

我们可以用{}去代替变化的值就像这样:

https://www.ygdy8.net/html/gndy/dyzz/list_23_{}.html

这样我们在inti方法初始化url地址和构造请求头。
在主方法main函数里边用for循环实现遍历网址。
得到下图这样的结果:
说明你已经成功一半了加油!!

现在我们需要对这些网址发生请求,为了更直观的看出来,我们用一个类写。

我们用requests发生请求 这个网站的编码是gbk (怎么看网站的编码?)。

打开一个网站右键检查在header的标签,以这个网站为例,可以看到charset=“gb312”。

这个gb2312就是编码 我们常见的编码方式有2种(utf_8,  gbk)。
我们可以验证一下是不是真的请求到了。使用Print(html)看到这个结果(一个完整的html网页)说明请求成功。
我们再定义这个方法(对我们的网页代码进行解析)。

我们用正则表达式 来解析数据 我们右键检查可以看到我们要的网站在table里面的<tr>标签的<b>标签的<a>标签的href。
所以我们可以先找到table,一层一层的去找,可以参考一下下面的图。
正则表达式就是(.*?)里面就是你想要得到的内容,“.*?”就是可以省略其中的标签,取到你想要地区那一层。for循环遍历得到每个网址,点击这些网址我们要对二级页面发生请求,并解析它。

因为在网页网址上的链接有一些是空的 ,所有这样会导致电影下载的链接不匹配。所以我们要加个判断,如果下载链接的长度大于0那么就照常显示,否则就给它一个空值,这样就不会不对应了。最后返回这个结果,如下图所示。
点开第二级页面如图右键点击下载链接,如下图所示:
我们用正则表达式解析 得到我们下载链接地址,如下图所示:
看去了不是很美观,我们把链接处理一下,如下图所示:
得到结果,如下图所示:
最后我们用把数据保存在一个字典加上下载链接和电影名字:
最后我们优化一下请求的代码有点重复 我们优化一下;

用一个值去保存说明请求头的内容以后请求我们只有调用这个方法进行请求就好,如下图所示:
程序运行之后可以看到效果图,如下图所示:
点击蓝色的链接就可以这个下载(要下载迅雷 迅雷下载更快哇)

这样是不是能够更直观的看出你要电影啦?点击即可下载噢!

【五、总结】

1. 本文基于Python网络爬虫技术,提供了一种更直观的去看自己喜欢的电影并且方便下载的方式。

2. 不建议抓取太多,容易使得服务器负载。

3. 需要本文代码的话,后台回复“电影天堂”四个字即可获取。
相关文章
|
数据采集 测试技术 C++
无headers爬虫 vs 带headers爬虫:Python性能对比
无headers爬虫 vs 带headers爬虫:Python性能对比
|
9月前
|
数据采集 存储 JSON
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
地区电影市场分析:用Python爬虫抓取猫眼/灯塔专业版各地区票房
|
数据采集 存储 JSON
Python网络爬虫:Scrapy框架的实战应用与技巧分享
【10月更文挑战第27天】本文介绍了Python网络爬虫Scrapy框架的实战应用与技巧。首先讲解了如何创建Scrapy项目、定义爬虫、处理JSON响应、设置User-Agent和代理,以及存储爬取的数据。通过具体示例,帮助读者掌握Scrapy的核心功能和使用方法,提升数据采集效率。
667 6
|
数据采集 存储 监控
Python 原生爬虫教程:网络爬虫的基本概念和认知
网络爬虫是一种自动抓取互联网信息的程序,广泛应用于搜索引擎、数据采集、新闻聚合和价格监控等领域。其工作流程包括 URL 调度、HTTP 请求、页面下载、解析、数据存储及新 URL 发现。Python 因其丰富的库(如 requests、BeautifulSoup、Scrapy)和简洁语法成为爬虫开发的首选语言。然而,在使用爬虫时需注意法律与道德问题,例如遵守 robots.txt 规则、控制请求频率以及合法使用数据,以确保爬虫技术健康有序发展。
1556 31
|
数据采集 存储 NoSQL
分布式爬虫去重:Python + Redis实现高效URL去重
分布式爬虫去重:Python + Redis实现高效URL去重
|
网络协议 物联网
VB6网络通信软件上位机开发,TCP网络通信,读写数据并处理,完整源码下载
本文介绍使用VB6开发网络通信上位机客户端程序,涵盖Winsock控件的引入与使用,包括连接服务端、发送数据(如通过`Winsock1.SendData`方法)及接收数据(利用`Winsock1_DataArrival`事件)。代码实现TCP网络通信,可读写并处理16进制数据,适用于自动化和工业控制领域。提供完整源码下载,适合学习VB6网络程序开发。 下载链接:[完整源码](http://xzios.cn:86/WJGL/DownLoadDetial?Id=20)
518 12
|
数据采集 XML JavaScript
Python爬虫:从人民网提取视频链接的完整指南
Python爬虫:从人民网提取视频链接的完整指南
|
数据采集 XML 存储
Headers池技术在Python爬虫反反爬中的应用
Headers池技术在Python爬虫反反爬中的应用
|
数据采集 存储 数据挖掘
深入探索 Python 爬虫:高级技术与实战应用
本文介绍了Python爬虫的高级技术,涵盖并发处理、反爬虫策略(如验证码识别与模拟登录)及数据存储与处理方法。通过asyncio库实现异步爬虫,提升效率;利用tesseract和requests库应对反爬措施;借助SQLAlchemy和pandas进行数据存储与分析。实战部分展示了如何爬取电商网站的商品信息及新闻网站的文章内容。提醒读者在实际应用中需遵守法律法规。
546 66
|
运维 安全 网络安全
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台
598 0
VMware NSX 4.2.1.3 下载 - 网络安全虚拟化平台

推荐镜像

更多