gpt4 book ai didi

python - 如何在scrapy spider中传递用户定义的参数

转载 作者:IT老高 更新时间:2023-10-28 21:11:29 26 4
gpt4 key购买 nike

我正在尝试将用户定义的参数传递给 scrapy 的蜘蛛。任何人都可以建议如何做到这一点?

我在某处读到了一个参数-a,但不知道如何使用它。

最佳答案

Spider 参数使用 -a 选项在 crawl 命令中传递。例如:

scrapy crawl myspider -a category=electronics -a domain=system

蜘蛛可以将参数作为属性访问:

class MySpider(scrapy.Spider):
name = 'myspider'

def __init__(self, category='', **kwargs):
self.start_urls = [f'http://www.example.com/{category}'] # py36
super().__init__(**kwargs) # python3

def parse(self, response)
self.log(self.domain) # system

取自 Scrapy 文档:http://doc.scrapy.org/en/latest/topics/spiders.html#spider-arguments

2013 年更新:添加第二个参数

2015 年更新:调整措辞

2016 年更新:使用更新的基类并添加 super,感谢 @Birla

2017 年更新:使用 Python3 super

# previously
super(MySpider, self).__init__(**kwargs) # python2

2018 年更新:As @eLRuLL points out ,蜘蛛可以访问参数作为属性

关于python - 如何在scrapy spider中传递用户定义的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15611605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com