Python “的功能是什么?”;设置“U爬虫”;及;来自“U crawler”;在';crawl.py';用刮痧?

Python “的功能是什么?”;设置“U爬虫”;及;来自“U crawler”;在';crawl.py';用刮痧?,python,scrapy,Python,Scrapy,我不能理解这些功能。如果我继承了爬行器或爬行器,我应该重写这些函数吗。若否,原因为何 @classmethod def from_crawler(cls, crawler, *args, **kwargs): spider = super(CrawlSpider, cls).from_crawler(crawler, *args, **kwargs) spider._follow_links = crawler.settings.getbool(

我不能理解这些功能。如果我继承了
爬行器
爬行器
,我应该重写这些函数吗。若否,原因为何

@classmethod
def from_crawler(cls, crawler, *args, **kwargs):
    spider = super(CrawlSpider, cls).from_crawler(crawler, *args, **kwargs)
    spider._follow_links = crawler.settings.getbool(
                                   'CRAWLSPIDER_FOLLOW_LINKS', True)
    return spider

def set_crawler(self, crawler):
    super(CrawlSpider, self).set_crawler(crawler)
    self._follow_links = crawler.settings.getbool(
                                 'CRAWLSPIDER_FOLLOW_LINKS', True)

通常您不需要重写这些函数,但这取决于您想做什么

crawler中的
方法(带有
@classmethod
装饰器)是一个将由Scrapy用于实例化添加对象(spider、扩展、中间件等)的方法

它通常用于获取对
爬虫
对象的引用(该对象包含对
设置
统计
等对象的引用),然后将其作为参数传递给正在创建的对象或为其设置属性

在您粘贴的特定示例中,它用于从
爬行器跟随链接
设置中读取值,并将其设置为爬行器中的
\u跟随链接
属性

您可以看到,它使用
crawler
对象获取设置值,并将其作为参数传递给扩展,并将一些方法连接到一些方法

set\u crawler
方法在最新的Scrapy版本中已被弃用,应避免使用

阅读更多: