概述
随着计算机语言的发展,Python也跻身于语言排行的常青树。要是说Python是最目前最火爆的语言,应该没有人反驳吧。在当下的人工智能浪潮中,Python可以说是C位出道,成功引起大家的注意的了。
本文将展现怎样运用Python中的异步模块来提升爬虫的效率。我们需要爬取的目标为:融360网站上的理财产品信息(https://www.rong360.com/licai-bank/list/p1),页面如下:
我们需要爬取116405条理财产品的信息,每页10条,也就是11641个页面。
在文章Python爬虫(16)利用Scrapy爬取银行理财产品信息(共20多万条)中,我们采用爬虫框架Scrapy完成了该爬虫,爬取了207130条数据,并存入MongoDB,整个流程用时3个多小时。一般而言,使用Scrapy完成爬虫是不错的方法,但是在速度上,是不是有提升呢?本文将展示怎么运用Python中的异步模块(aiohtpp和asyncio)来提升爬虫的效率。爬虫项目
我们的爬虫分两步走:
1、爬取融360网页上的理财产品信息并存入csv文件;
2、读取csv文件并存入至MySQL数据库。
首先,我们爬取融360网页上的理财产品信息并存入csv文件,我们使用aiohttp和asyncio来加速爬虫,完整的Python代码如下图:
输出的结果如下图(中间的输出已省略,以......代替):
能够看出,在这个爬虫中,我们爬取了86391条数据,耗时1787.4秒,不到30分钟。虽然数据比预期的少了3条,但这点损失不算什么。来看一眼csv文件中的数据:
OK,离我们的目标还差一步,将这个csv文件存入至MySQL,具体的操作方法可参考文章:Python之使用Pandas库实现MySQL数据库的读写:https://www.jianshu.com/p/238a13995b2b 。完整的Python代码如下图:
输出结果如下(耗时十几秒):
如果你还不放心,也许我们可以看一眼MySQL中的数据:
总结
让我们来比较该爬虫与使用Scrapy的爬虫。使用Scrap用的爬虫爬取了127130条数据,耗时3小时,该爬虫爬取86391条数据,耗时半小时。如果是同样的数据量,那么Scrapy爬取86391条数据耗时约2小时,该爬虫仅用了Scrapy爬虫的四分之一的时间就出色地完成了任务。
最后,让我们看看前十名的银行及理财产品数量(按理财产品数量从高到低排列),输入以下MySQL命令:
输出结果如下:
最后
以上就是沉静黄豆为你收集整理的python爬虫的速度_不踩坑的Python爬虫,加快爬取速度的全部内容,希望文章能够帮你解决python爬虫的速度_不踩坑的Python爬虫,加快爬取速度所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复