位置: 编程技术 - 正文

使用Python多线程爬虫爬取电影天堂资源(python 多线程)

编辑:rootadmin

推荐整理分享使用Python多线程爬虫爬取电影天堂资源(python 多线程),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:python多线程怎么用,python多线程应用,python多线程例子,python 多线程,python多线程应用,python多线程怎么用,python中多线程,python多线程怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

最近花些时间学习了一下Python,并写了一个多线程的爬虫程序来获取电影天堂上资源的迅雷下载地址,代码已经上传到GitHub上了,需要的同学可以自行下载。刚开始学习python希望可以获得宝贵的意见。

  先来简单介绍一下,网络爬虫的基本实现原理吧。一个爬虫首先要给它一个起点,所以需要精心选取一些URL作为起点,然后我们的爬虫从这些起点出发,抓取并解析所抓取到的页面,将所需要的信息提取出来,同时获得的新的URL插入到队列中作为下一次爬取的起点。这样不断地循环,一直到获得你想得到的所有的信息爬虫的任务就算结束了。我们通过一张图片来看一下。

  好的 下面进入正题,来讲解下程序的实现。

  首先要分析一下电影天堂网站的首页结构。

  从上面的菜单栏中我们可以看到整个网站资源的总体分类情况。刚刚好我们可以利用到它的这个分类,将每一个分类地址作为爬虫的起点。

  ①解析首页地址 提取分类信息

在这个函数中,首先将网页的源码下载下来,通过XPath解析出其中的菜单分类信息。并创建相应的文件目录。有一个需要注意的地方就是编码问题,但是也是被这个编码纠缠了好久,通过查看网页的源代码,我们可以发现,网页的编码采用的是GB,这里通过XPath构造Tree对象是需要对文本信息进行解码操作,将gb变成Unicode编码,这样DOM树结构才是正确的,要不然在后面解析的时候就会出现问题。

使用Python多线程爬虫爬取电影天堂资源(python 多线程)

  ②解析每个分类的主页

打开每一个分类的首页会发现都有一个相同的结构(点击打开示例)首先解析出包含资源URL的节点,然后将名称和URL提取出来。这一部分有两个需要注意的地方。一是因为最终想要把资源保存到一个txt文件中,但是在命名时不能出现一些特殊符号,所以需要处理掉。二是一定要对分页进行处理,网站中的数据都是通过分页这种形式展示的,所以如何识别并抓取分页也是很重要的。通过观察发现,分页的地址前面没有“/”,所以只需要通过正则表达式找出分页地址链接,然后嵌套调用即可解决分页问题。

③解析资源地址保存到文件中

这段就比较简单了,将提取出来的内容写到一个文件中就行了

  为了能够提高程序的运行效率,使用了多线程进行抓取,在这里我是为每一个分类的主页都开辟了一个线程,这样极大地加快了爬虫的效率。想当初,只是用单线程去跑,结果等了一下午最后因为一个异常没处理到结果一下午都白跑了!!!!心累

以上只是部分代码,全部代码可以到GitHub上面去下载(点我跳转)

最后爬取的结果如下。

以上所述是小编给大家介绍的使用Python多线程爬虫爬取电影天堂资源 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对积木网网站的支持!

利用Python为iOS生成图标和截屏 简介这两天更新完Xcode8之后发现Xcode对图标的要求又有了变化,之前用的一个小应用IconKit还没赶上节奏,已经不能满足Xcode8的要求了。于是就想起来用Py

Linux 下 Python 实现按任意键退出的实现方法 某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想

实现python版本的按任意键继续/退出 某天在群内有同学问到,在python下我用input或者raw_input都得输入完后回车才能获取到输入的值,那如何实现任意键退出暂停等功能呢,我当时也没有多想

标签: python 多线程

本文链接地址:https://www.jiuchutong.com/biancheng/384486.html 转载请保留说明!

上一篇:Python 爬虫模拟登陆知乎(python爬虫模拟浏览器)

下一篇:利用Python为iOS10生成图标和截屏(python3.9.1怎么用)

  • 电子设备租赁费专票税率
  • 事业单位怎么给分
  • 补充养老保险补充医疗保险税前扣除比例
  • 个人劳务费的免税政策
  • 农产品是零税率还是免税税率
  • 国家税务局发票查询真伪
  • 树苗应计入什么科目里面
  • 主营业务成本可以暂估吗
  • 分公司非独立核算是什么意思
  • 企业职工遣散费标准
  • 个体工商户增值税怎么计算
  • 净利润为负数还要交所得税吗
  • 公司预付签证费怎么入账
  • 验资资金转出如何做账
  • 支付短期借款计入什么科目
  • 开出增值税发票没收到怎么抵扣进项税?
  • 金税盘减免分录
  • 固定资产评估是什么单位
  • 房地产企业增值税预缴
  • 独立核算分公司可以享受小型微利企业优惠吗
  • 开了百分之五的票怎么办
  • 报销通行费会计分录
  • 清空收藏夹里面的歌曲
  • 新版edge浏览器文字不显示
  • 资产负债表中的固定资产是原值还是净值
  • mac怎么恢复出厂值
  • php 抓取别的网站的内容
  • 银行退回手续费的账务处理
  • 非盈利组织又称
  • 向银行借入长期借款50万元
  • asmproserver.exe是什么进程 asmproserver进程信息查询
  • 进项税额转出可以填负数吗
  • php框架yii
  • 无极框架下载
  • es6 promise finally
  • 公司之间借款利息需要开票吗
  • 固定资产清理会议记录范文
  • 接受专利投资会计科目
  • index.php怎么修改
  • 与取得收入无关的费用支出可以扣除吗
  • phpcms官网打不开
  • 资本性支出与资本性支出(基本建设)的区别
  • 银行存款余额调节表保管期限
  • 增值税进项加计抵减怎么计算
  • 2021年财政部令68号
  • 企业固定资产贷款二押的风险
  • 电子发票和纸质发票的优缺点
  • 税金及附加里面包含什么
  • 发票已经报送怎么处理
  • 扫码开票怎么弄
  • 专票已认证还能作废吗
  • 用友t3建账行业性质怎么选
  • 建筑施工企业会计第三版单旭课后题答案
  • 费用科目可以在借方吗
  • 中秋过节费会计分录
  • 房地产开发成本和房地产开发产品
  • 安装了windows
  • win9什么时候发布的
  • debian系统如何安装软件
  • 比较常见的成语有哪些
  • 在u盘里装win7
  • 安装win8.1系统步骤
  • win7旗舰版提示不是正版
  • win8.1系统升级
  • linux sh
  • 基于web的学生成绩管理系统毕业论文
  • 批处理for命令详解
  • 基于像素的分类方法
  • 深入理解关于教育两个大计
  • javascript对象的种类
  • 基于stm32的100个毕业设计
  • 占位符设置
  • python编程字符串中删除数字
  • dos跳转到指定目录
  • vue实战案例
  • 基于JAVASCRIPT实现的可视化工具是
  • scrollbottom用法
  • python批量ping
  • 广西公安厅有几个处长
  • 审计报告非标准意见
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设