[英]Scrapy: How to apply settings from settings.py file
我已经在settings.py
文件中指定了外部文件的名称,我想在启动时将其导入。 但是,当我运行它时,出现错误: AttributeError: 'MySpider' object has no attribute 'settings'
。 如何在启动Spider时导入?
到目前为止,我的代码是:
class MySpider(CrawlSpider):
name = 'MySpider'
def __init__(self, *args, **kwargs):
super(MySpider, self).__init__(*args, **kwargs)
self.crawl_behaviour = FileOps.get_crawl_behaviour(self.settings.attributes.get('CRAWL_BEHAVIOUR'))
self.rules = (
Rule(LinkExtractor(allow=self.crawl_behaviour), follow=True),
)
这对我有用。
from scrapy.conf import settings
self.crawl_behaviour = settings['CRAWL_BEHAVIOUR']
您可以这样使用:
from scrapy import Spider
from scrapy.utils.project import get_project_settings
class MySpider(Spider):
name = "MySpider"
allowed_domains = ["example.com"]
start_urls = ['https://www.example.com/']
def __init__(self, query='', *args, **kwargs):
super(MySpider, self).__init__(*args, **kwargs)
p_setting = get_project_settings()
self.start_urls = ['https://www.example.com']
self.query = query
self.crawl_behavior = p_setting.get("CRAWL_BEHAVIOUR")
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.