「给大家科普一下」用Python爬取网站数据的4种方法,你值得拥有

 admin   2024-05-17 21:28   12 人阅读  0 条评论

前言


首先我们来分析一下爬虫的思想。首先,我们从第一个网页中获取500个名人的URL,然后从这500个网页中爬取名人的姓名和描述。如果没有解释,请跳过。接下来我们将介绍该爬虫的四种实现方式,并分析每种方式的优缺点,希望读者对爬虫有更多的体验。以下是爬虫的实现方法


常用方法


同时


异步


importrequestfrombs4importBeautifulSoupimporttimeimportaio:39;lt;spanclass=34;gt;+lt;/spangt;39;lt;spanclass=34;gt;+lt;/spangt;39;-40s,s处理网页,获取名称和描述asyncdefdownloadurl:asyncwithaio=waitfetchsession,urlwaitparserhtmlexceptExceptionaserr:Printerrendtimeprint39;t2-t1print--coding:utf-8--importscrapyclassWikidatascrapyItemscrapyItem:获取500个请求的URL,使用request+BeautifulSoup获取defget_urls:url=34;发送HTTP请求req=requestgeturl,headers=headers34;l输出结果如下


可以看到,成功爬取了500个网页,耗时31秒,相当不错了。查看生成的wikicsv文件,它包含所有输出的名称和描述,如下所示。


如您所见,输出CSV文件中的列是无序的。如何解决Scrapy输出的CSV文件中的换行题


使用Scrapy构建爬虫的优点是它是一个成熟的爬虫框架,支持异步、并发、容错性好。不过如果需要经常修改中间件,最好自己写爬虫,并且不要超过Scrapy的速度,关于自动导出CSV文件的能力,我们自己写的异步爬虫就很实用了。


总结


这篇文章说的很多,比较了四种爬虫方式。每种方法都有前面讨论中描述的优点和缺点。当然,在现实题中,工具或方法越先进越好。具体题具体分析~


本文地址:http://5858jm.com/post/35305.html
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

 发表评论


表情

还没有留言,还不快点抢沙发?