python – Scrapy中’crawl.py’中“set_crawler”和“from_crawler”的功能是什么?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了python – Scrapy中’crawl.py’中“set_crawler”和“from_crawler”的功能是什么?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1194字,纯文字阅读大概需要2分钟。
内容图文
![python – Scrapy中’crawl.py’中“set_crawler”和“from_crawler”的功能是什么?](/upload/InfoBanner/zyjiaocheng/818/cf8ff4c558a3427f8767007c4ee4a48d.jpg)
我无法理解这些功能.如果我继承Spider或CrawlSpider,我应该覆盖这些函数.如果没有,那么为什么呢?
@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)
解决方法:
通常您不需要覆盖这些功能,但这取决于您想要做什么.
from_crawler方法(带有@classmethod装饰器)是一个factory method,Scrapy将使用它来实例化你添加它的对象(蜘蛛,扩展,中间件等).
它通常用于获取对爬虫对象的引用(它包含对诸如设置,统计信息等对象的引用),然后将其作为参数传递给正在创建的对象或将属性设置为它.
在您粘贴的特定示例中,它用于从CRAWLSPIDER_FOLLOW_LINKS设置中读取值并将其设置为蜘蛛中的_follow_links属性.
您可以看到another simple example of usage of the from_crawler method in this extension使用爬虫对象获取设置的值并将其作为参数传递给扩展,并将某些signals连接到某些方法.
set_crawler方法已在最新的Scrapy版本中弃用,应该避免使用.
阅读更多:
> Core API and the Crawler object
> Writing your own Scrapy extension
> Scrapy Signals
内容总结
以上是互联网集市为您收集整理的python – Scrapy中’crawl.py’中“set_crawler”和“from_crawler”的功能是什么?全部内容,希望文章能够帮你解决python – Scrapy中’crawl.py’中“set_crawler”和“from_crawler”的功能是什么?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。