在第一个函数district_parse中,detail2是一个列表字典,里面包含多个字典,我想将这些字典作为参数循环传入meta,但总是只能传入第一个字典,有什么解决办法?
def district_parse(self,response):
item2 = response.meta["item"]
Data2 = json.loads(re.findall(r'[(](.*?)[)]', response.text)[0])
detail2 = Data2['data']['list']
for loop1 in detail2:
item2["district_time"] = loop1["timeHuman"]
item2["district_name"] = loop1["district_name"]
item2["district_congest"] = loop1["index"]
item2["district_speed"] = loop1["speed"]
item2["district_length"] = loop1["length"]
url = "https://www.example.com"
yield Request(url, meta={"item2": copy.deepcopy(item2)}, callback=self.curvehistory_parse)
def curvehistory_parse(self,response):
item3 = response.meta.get('item2')
Data3 = json.loads(re.findall(r'[(](.*?)[)]', response.text)[0])
detail3 = Data3['data']['list']
for loop2 in detail3:
item3["index"] = loop2["index"]
item3["indexHis"] = loop2["indexHis"]
item3["date"] = loop2["time"]
yield copy.deepcopy(item3)