BaseSpider和CrawlSpider之间的区别

时间:2015-09-17 13:49:02

标签: python python-2.7 web-scraping scrapy scrapy-spider

我一直在尝试理解在Web报废中使用BaseSpider和CrawlSpider的概念。我已经阅读了docs.但是没有提到BaseSpider。如果有人解释 BaseSpider CrawlSpider 之间的差异,对我来说真的很有帮助。

1 个答案:

答案 0 :(得分:11)

BaseSpider之前已存在,现在已弃用(自0.22起) - 请改为使用scrapy.Spider

import scrapy

class MySpider(scrapy.Spider):
    # ...

scrapy.Spider是最简单的蜘蛛,它基本上会访问start_urls中定义的或start_requests()返回的网址。

当您需要"抓取时,请使用CrawlSpider"行为 - 提取链接并跟随它们:

  

这是用于抓取常规网站的最常用的蜘蛛,   因为它提供了一种方便的机制,通过定义来跟踪链接   一套规则。它可能不是最适合您的特定网络   站点或项目,但它对于几种情况来说足够通用,所以你   可以从它开始并根据需要覆盖它以获得更多自定义   功能,或只是实现自己的蜘蛛。