gpt4 book ai didi

python - Scrapy 未按请求填充对象

转载 作者:太空宇宙 更新时间:2023-11-03 16:44:59 24 4
gpt4 key购买 nike

这是我的代码

蜘蛛.py

def parse(self,response):
item=someItem()
cuv=Vitae()
item['cuv']=cuv
request=scrapy.Request(url, callback=self.cvsearch)
request.meta['item'] = item
yield request

def cvsearch(self, response):
item=response.meta['item']
cv=item['cuv']
cv['link']=response.url
return item

项目.py

class someItem(Item):
cuv=Field()

class Vitae(Item):
link=Field()

没有显示错误!

它将对象“cuv”添加到“item”,但从未添加“cuv”的属性,我在这里缺少什么?

最佳答案

为什么你在另一个里面使用 scrapy.Item ?尝试在 item['cuv'] 中使用简单的 python 字典。并尝试将 request.meta 移动到 scrapy.Request 构造函数参数。并且您应该使用 yield 而不是 return

def parse(self,response):
item=someItem()
request=scrapy.Request(url, meta={'item': item} callback=self.cvsearch)
yield request

def cvsearch(self, response):
item=response.meta['item']
item['cuv'] = {'link':response.url}
yield item

关于python - Scrapy 未按请求填充对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36399207/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com