用python从零开始做一个最简单的小说爬虫带GUI界面(3/3)
目录
1|0上一章内容
用python从零开始做一个最简单的小说爬虫带GUI界面(2/3)_木木em哈哈的博客-CSDN博客前一章博客我们讲了怎么通过PyQt5来制作图形化界面,并且进行一些基本设置接下来两章我们主要讲核心爬虫代码的实现。https://blog.csdn.net/mumuemhaha/article/details/132457770?spm=1001.2014.3001.5501
2|0前言
本章内容讲的是给出了小说文章链接的情况下,如何爬取小说
3|0出现的一些问题
3|1requests包爬取小说的不便之处
在最开始的时候包括我前段时间写的博客都是利用requests包进行爬取
但是这回出现一个问题
简单来说就是request是顺序执行的
必须要等到上一个网络的请求返回后才会执行下一个步骤
假设我要爬取的小说有2000个章节
每次返回请求并且处理信息都需要1秒的时间
那么总共就需要2000秒也就是半个多小时
要是中间再来个返回超时出现错误的
心态直接要爆炸
返回超时我们可以设置超时等待时间
但是占据大部分时间的依然是网络请求的延迟
那有什么方法可以解决呢
4|0利用aiohttp包来异步爬取小说
4|1介绍
异步是一种比多线程高效得多的并发模型,是无序的,为了完成某个任务,在执行的过程中,不同程序单元之间过程中无需通信协调,也能完成任务的方式,也就是说不相关的程序单元之间可以是异步的。
简单来说就是可以类比小学的一种数学——你可以再烧开水的时候洗菜,在煮饭的时候切菜的那类问题
在python程序中就是你在等待网络回复的数据包时候可以继续发送其他的数据包
起到资源利用趋于最大化的趋势
5|0代码
具体的代码在这
这里只做初步介绍,具体包的使用不展开细讲
5|1main.py
5|2 test_1.py
5|3test_3.py
6|0代码大致讲解
主函数中传入的pachong()的两个参数,一个是文章链接的总列表,一个是小说的名字(用于创建txt文件的名称)
在等待网络回复时继续发送请求
之后利用re库来提取源代码中的文章文字最后写入txt中
7|0注意
利用这种方法爬取的内容小说章节是无序的,但是可以通过章节名来进行排序(好难写,不想写了)
8|0系列总结
本次文章初步了解了GUI图形界面的制作,并且了解了另外一种爬虫爬取的方法——异步爬虫
__EOF__

本文链接:https://www.cnblogs.com/mumuemhaha/p/17710173.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了