scrapy - 如何在scrapy中循环传递'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)
'detail2' 是一个包含多个字典的列表。我想将多个字典作为参数依次传递给'meta',但始终只能传入第一个字典。如何解决?
解决方案
在 District_parse 之后创建一个名为 'parse_details' 的新方法,它将对输出文件进行输出。
在 District_parse 中添加一个回调,例如 callback=self.parse_details 并一次将元字典传递给新方法,以从“parse_details”方法产生输出。
推荐阅读
- c# - 如何在 C# 其他地方使用 foreach 字符串输出?
- javascript - 将 URl 添加到 cookie 并在返回时重定向到 URL
- graphics - (GLSL)一个周末的光线追踪,如何将景深添加到视图矩阵?
- svelte - 有没有办法在 Sapper 路由中延迟加载动态导入?
- python-3.x - 什么是 KeyError:“twoColumnSearchResultsRenderer”(Python、youtube_dl)
- autohotkey - 将 gui 停靠到可变的活动窗口
- r - 将变量添加到 R 中的数据框并按所述变量排序
- reactjs - 如何在 ReactJs 中获取设备唯一 ID
- html - CSS/HTML:悬停图像,动画文本不起作用
- blazor - 当我有注册类型时,没有类型错误的注册服务