parse函数 python_如何在parse中从另一个parse函数访问返回的字典

我尝试使用parse作为一个中心集线器来收集来自其他解析函数的dict,因为我需要使用多个URL和域,但是我似乎不知道如何将所有数据都放回一个字典中。下面是我要做的一个例子:def parse(self, response):

request_1 = scrapy.Request(domain_1_url, callback = parse_2)

request_2 = scrapy.Request(domain_2_url, callback = parse_3)

#unpacks the two dicts from the 2 requests and return them as 1 to the pipeline

yield {**request_1, **request_2} #what I want to do, doesn't work because they are requests, not dicts

def parse_2(self, response):

yield {'someKey': 'some value'}

def parse_3(self, response):

yield {'someOtherKey': 'some more values'}

有什么办法我能做到吗?或者,有没有更好的方法可以做到这一点,比如把所有的东西都扔到管道中,然后让这个句柄来组合数据?在

编辑:

我考虑过将一个Item对象传递给其他请求,因为Python的“call by object”属性,在其他请求中修改它也会修改主解析中的Item对象:

^{pr2}$

不太清楚为什么这不起作用,但是parse()中的item对象在调用2个请求后仍然是空的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值