龙空技术网

详细实例:用python爬虫爬取幽默笑话网站!(建议收藏)

程序员陈平安 1010

前言:

而今朋友们对“python爬虫微信小程序”大约比较重视,各位老铁们都想要剖析一些“python爬虫微信小程序”的相关资讯。那么小编也在网摘上网罗了一些对于“python爬虫微信小程序””的相关文章,希望各位老铁们能喜欢,姐妹们一起来学习一下吧!

前言:

今天为大家带来的内容是详细实例:用python爬虫爬取幽默笑话网站!(建议收藏),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下!

爬取网站为:

查看网页机构,爬取笑话内容时存在如下问题:

1、每页需要进入“查看更多”链接下面网页进行进一步爬取内容每页查看更多链接内容比较多,多任务进行,这里采用线程池的方式,可以有效地控制系统中并发线程的数量。避免当系统中包含有大量的并发线程时,导致系统性能下降,甚至导致 Python 解释器崩溃,引入线程池,花费时间更少,更效率。

创建线程 池threadpool.ThreadPool()创建需要线程池处理的任务即threadpool.makeRequests(),makeRequests存放的是要开启多线程的函数,以及函数相关参数和回调函数,其中回调函数可以不写(默认是无)将创建的多个任务put到线程池中,threadpool.putRequest()等到所有任务处理完毕theadpool.pool()

2、查看链接笑话页内容,div元素内部文本分布比较混乱。有的分布在<p>链接内有的属于div的文本,可采用正则表达式的方式解决。

注意2种获取元素节点的方式:

1)lxml获取节点字符串

2)正则表达式写法1,过滤回车、制表符和p标签

3)正则表达式写法2,过滤回车、制表符和p标签

3、完整代码

index.py

runscrapy.py

运行如下:

总共1988个文件,下载完成。

以上就是本文的全部内容,希望对大家的学习有所帮助。

最后多说一句,小编是一名python开发工程师,这里有我自己整理了一套最新的python系统学习教程,包括从基础的python脚本到web开发、爬虫、数据分析、数据可视化、机器学习等。想要这些资料的可以关注小编,并在后台私信小编:“07”即可领取。

标签: #python爬虫微信小程序