数据收集是我日常工作的一部分,通常我收集数据的方式是使用 urllib2 收集 html 页面,然后使用 beautifulsoup 解析出我想要的数据。
我经常听说Python Scrapy 包。我看了一下 Scrapy,他们网站上的内容基本上是在谈论一般 Scraping 的重要性,而不是“Scrapy”本身。
我想知道对于一个对 urllib2 和 beautifulsoup 有一定了解的人来说,Scrapy 是否足够酷或简单到让我放弃 urllib2 和 bs4 去使用?如果是这样,转换的主要原因是什么?
或许可以从以下几个方面入手:
快速实现机器人
机器人的鲁棒性
易于维护您的机器人。
最佳答案
这是我的见解。
Scrapy旨在使网络抓取代码更简单、更有组织。它也非常快(它基于twisted)。
这些蜘蛛类、项目、项目管道确实可以帮助您组织获取页面、跟踪链接、解析响应、收集数据、将其存储在某处等的过程。它为您提供了如何创建网络的想法和模板-抓取项目。
它不仅仅是 urllib2
+ bs4
,它是一个框架:
Scrapy is an application framework for crawling web sites and extracting structured data which can be used for a wide range of useful applications, like data mining, information processing or historical archival.
还有比我提到的更多的功能,请参阅这篇内容非常丰富的 overview文档页面,特别是阅读 What else?部分。
选择(urllib2
+ bs4
或 Scrapy
)实际上取决于任务、网络抓取代码的复杂性,以及您是否需要将爬取的数据存储在某处或不存储等。
希望有帮助。
关于python - 数据收集 Urllib2+bs4 与 Scrapy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18837759/