数据收集Urllib2 + bs4 vs Scrapy

时间:2013-09-16 21:39:32

标签: python web-scraping beautifulsoup scrapy screen-scraping

数据收集是我日常工作的一部分,通常我收集数据的方式是使用urllib2收集html页面然后使用beautifulsoup来解析我想要的数据。

我经常听说过Python Scrapy包。我看了一下Scrapy,他们网站上的内容基本上是关于一般Scraping的重要性,而不是'Scrapy'本身。

我想知道一个对urllib2和beautifulsoup有合法知识的人,Scrapy很酷还是简单到让我放弃urllib2和bs4去?如果是这样,那么转换的最主要原因是什么?

可能来自以下方面:

  1. 快速实施机器人

  2. 机器人的稳健性

  3. 轻松维护您的机器人。

1 个答案:

答案 0 :(得分:5)

这是我的见解。

Scrapy旨在使网页抓取代码更简单,更有条理。它也非常快(它基于扭曲)。

这些蜘蛛类,项目,项目管道确实可以帮助您组织获取页面,链接,解析响应,收集数据,将其存储在某个位置等过程。它为您提供了一个关于如何创建Web的创意和模板-scraping项目。

它远远超过urllib2 + bs4,它是一个框架:

  

Scrapy是一个用于抓取网站的应用程序框架   提取可用于各种各样的结构化数据   有用的应用程序,如数据挖掘,信息处理或   历史档案。

除了我提到的功能之外,还有很多其他功能,请参阅此信息丰富的overview文档页面,尤其是阅读What else?部分。

选择(urllib2 + bs4Scrapy)实际上取决于任务,网页抓取代码的复杂程度,是否需要将抓取的数据存储在某处或者不是等等。

希望有所帮助。