千家信息网

python如何爬取电影天堂的最新电影

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍python如何爬取电影天堂的最新电影,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1 爬取目标本次爬取的站点选择电影天堂,网址是: www.ydtt8.net
千家信息网最后更新 2025年02月02日python如何爬取电影天堂的最新电影

这篇文章主要介绍python如何爬取电影天堂的最新电影,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1 爬取目标

本次爬取的站点选择电影天堂,网址是: www.ydtt8.net。爬取内容是整个站点的所有电影信息,包括电影名称,导演、主演、下载地址等。具体抓取信息如下图所示:

2 设计爬虫程序

2.1 确定爬取入口

电影天堂里面的电影数目成千上万,电影类型也是让人眼花缭乱。我们为了保证爬取的电影信息不重复, 所以要确定一个爬取方向。目前这情况真让人无从下手。但是,我们点击主页中的【最新电影】选项,跳进一个新的页面。蓦然有种柳暗花明又一村的感觉。

由图可知道,电影天堂有 5 个电影栏目,分别为最新电影、日韩电影、欧美电影、国内电影、综合电影。每个栏目又有一定数量的分页,每个分页有 25 条电影信息。那么程序的入口可以有 5 个 url 地址。这 5 个地址分别对应每个栏目的首页链接。

2.2 爬取思路

知道爬取入口,后面的工作就容易多了。我通过测试发现这几个栏目除了页面的 url 地址不一样之外,其他例如提取信息的 xpath 路径是一样的。因此,我把 5 个栏目当做 1 个类,再该类进行遍历爬取。

我这里"最新电影"为例说明爬取思路。
1)请求栏目的首页来获取到分页的总数,以及推测出每个分页的 url 地址;
2)将获取到的分页 url 存放到名为 floorQueue 队列中;
3)从 floorQueue 中依次取出分页 url,然后利用多线程发起请求;
4)将获取到的电影页面 url 存入到名为 middleQueue 的队列;
5)从 middleQueue 中依次取出电影页面 url,再利用多线程发起请求;
6)将请求结果使用 Xpath 解析并提取所需的电影信息;
7)将爬取到的电影信息存到名为 contentQueue 队列中;
8)从 contentQueue 队列中依次取出电影信息,然后存到数据库中。

2.3 设计爬虫架构

根据爬取思路,我设计出爬虫架构。如下图所示:

2.4 代码实现

主要阐述几个重要的类的代码

  • main 类

主要工作两个:第一,实例化出一个dytt8Moive对象,然后开始爬取信息。第二,等爬取结束,将数据插入到数据库中。

处理爬虫的逻辑代码如下:

创建数据库以及表,接着再把电影信息插入到数据库的代码如下:

  • TaskQueue 类

维护 floorQueue、middleQueue、contentQueue 三个队列的管理类。之所以选择队列的数据结构,是因为爬虫程序需要用到多线程,队列能够保证线程安全。

  • dytt8Moive 类

dytt8Moive 类是本程序的主心骨。程序最初的爬取目标是 5 个电影栏目,但是目前只现实了爬取最新栏目。如果你想爬取全部栏目电影,只需对 dytt8Moive 稍微改造下即可。

getMoiveInforms 方法是主要负责解析电影信息节点并将其封装成字典。在代码中,你看到 Xpath 的路径表达式不止一条。因为电影天堂的电影详情页面的排版参差不齐,所以单单一条内容提取表达式、海报和影片截图表达式、下载地址表达式远远无法满足。

选择字典类型作为存储电影信息的数据结构,也是自己爬坑之后才决定的。这算是该站点另一个坑人的地方。电影详情页中有些内容节点是没有,例如类型、豆瓣评分,所以无法使用列表按顺序保存。

3 爬取结果

我这里展示自己爬取最新栏目中 4000 多条数据中前面部分数据。

以上是"python如何爬取电影天堂的最新电影"这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

电影 信息 栏目 数据 队列 天堂 地址 最新电影 代码 内容 爬虫 程序 页面 数据库 线程 表达式 入口 思路 类型 设计 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 疫情下的电信网络安全 怀旧服可以重新申请服务器吗 电视一直显示服务器繁忙 池州企业软件开发哪家好 南宁市伟林互联网科技 我的世界服务器新手礼包32k手机版 辽宁网络时间服务器标准虚拟主机 徐州机械软件开发售后服务 上海翔军网络技术有限公司 易语言调取数据库数据 电脑网络安全有哪些功能 网络监控服务器属于什么设备 南宁机场网络安全宣传 李沐容 网络安全 服务器流量计费1g要访问多少人 网络安全法 传播淫秽 格拉斯哥软件开发硕士 网络安全工程师可以考哪些证 阿里云美国服务器速度 网络安全防护设备 监控服务器故障维修 工程预算软件开发 大学生学习网络技术有前途吗 不用安装就能用的数据库 怀旧服服务器内部机制 软件开发阶段注意什么 怎么是网络安全 科技服务器价格 网络安全法 第41条 数据库在经济管理中的应用
0