gpt4 book ai didi

python - 访问 scrapy 中项目管道中蜘蛛的响应

转载 作者:行者123 更新时间:2023-11-30 23:09:40 25 4
gpt4 key购买 nike

我有像蜘蛛一样

class ProductsSpider(scrapy.Spider):
name = "products"
allowed_domains = ["example.com"]
start_urls = [
'http://example.com/url'
]

def parse(self, response):

我有一个像这样的管道类

class ProductsDataPipeline(object):
""" Item pipeline for products data crawler """

def process_item(self, item, spider):
return item

但是我想在parse_item函数中获取parse函数的响应参数而不将其设置为item对象的属性,是否可能

最佳答案

不,这是不可能的。

响应不会转发到管道。您要么必须将响应存储在项目中,要么使用一些外部存储来存储响应并在管道中获取它。第二种选择要好得多,并且避免了将响应存储在项目中可能导致的许多问题(例如内存问题)。例如,您在解析回调中保存对某种形式存储的响应,在项目字段中保存对此存储的引用,并从管道中的存储中获取响应。

但这实际上取决于您想要做什么,响应可以在 spider middleware process_spider_output 中找到。所以也许你可以使用它而不是在管道中处理项目。

关于python - 访问 scrapy 中项目管道中蜘蛛的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31048719/

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