将额外的参数传递给scrapy.Request()

时间:2017-10-05 06:27:00

标签: python scrapy scrapy-spider

实际上我想将与特定网站相关的所有数据(文本,href,图像)存储到一个文件夹中。为了做到这一点,我需要将该文件夹的路径传递给所有不同的解析功能。所以我想要将这条路径作为额外的kwargs传递给scrapy.Request(),如下所示:

yield scrapy.Request(url=url,dont_filter=True, callback=self.parse,errback = self.errback_function,kwargs={'path': '/path/to_folder'})

但它会出现错误TypeError: __init__() got an unexpected keyword argument 'kwargs'

如何将该路径传递给下一个函数?

2 个答案:

答案 0 :(得分:5)

对于任何可能需要它的人......

你可以使用这样的id_detail | tot_order | tot_color | size_40 ============================================ 1 | 6 | 2 | 3 2 | 8 | 1 | 8 3 | NULL | 0 | NULL 4 | NULL | 0 | NULL 参数传递额外的参数......

meta

答案 1 :(得分:1)

这是一个老话题,但对于任何需要它的人来说,传递一个额外的参数你必须使用 cb_kwargs,然后调用解析方法中的参数。

您可以参考文档的 this part