【发布时间】:2023-03-22 00:53:01
【问题描述】:
我想将参数发送给蜘蛛并获取根据参数命名的输出(json、csv)。
菲,
$ scrapy crawl spider_name -a category=category1 -a subcategory=subcategory1
我想得到:
category1_subcategory1.json(或csv,没关系)。
我的意思是我需要准确的 json 名称作为蜘蛛的参数。
class MySpider(scrapy.Spider):
name = 'my_spider'
# how can I get to this place ?
customs_settings = {
'FEED_URI' : 'some_name.json'
}
def __init__(self, category, subcategory, *args, **kwargs):
super(MySpider, self).__init__(*args, **kwargs)
self.category = category
self.subcategory = subcategory
【问题讨论】:
-
你试过什么?您是否阅读过文档中的Storage URI parameters 部分?特别是 存储 URI 还可以包含在创建提要时被替换的参数。(...)任何其他命名参数都会被同名的蜘蛛属性替换。例如,在创建提要时,%(site_id)s 将被 spider.site_id 属性替换。
-
我读过文档。当然,我错过了一些东西,但我找不到将参数与 FEED_URI 属性链接起来的方法
-
试试
FEED_URI='%(category)_%(subcategory).json'