2024-09-30 10:37:41 发布
网友
我有蜘蛛样的
class ProductsSpider(scrapy.Spider): name = "products" allowed_domains = ["example.com"] start_urls = [ 'http://example.com/url' ] def parse(self, response):
我有一个像这样的管道类
但我想在parse_item函数中获取parse函数的响应参数,而不将其设置为item对象的属性,这可能吗
不,不可能。在
响应不会转发到管道。您要么必须将响应存储在项中,要么使用一些外部存储来存储响应并在管道中获取它。第二种方法要好得多,它可以避免将响应存储在项目中而导致的许多问题(例如内存问题)。例如,在parse callback中保存对某种形式存储的响应,在item字段中保存对此存储的引用,并从管道中的存储获取响应。在
但这实际上取决于您要做什么,响应在spider middleware process_spider_output中是可用的,所以也许您可以使用它来代替处理管道中的项。在
不,不可能。在
响应不会转发到管道。您要么必须将响应存储在项中,要么使用一些外部存储来存储响应并在管道中获取它。第二种方法要好得多,它可以避免将响应存储在项目中而导致的许多问题(例如内存问题)。例如,在parse callback中保存对某种形式存储的响应,在item字段中保存对此存储的引用,并从管道中的存储获取响应。在
但这实际上取决于您要做什么,响应在spider middleware process_spider_output中是可用的,所以也许您可以使用它来代替处理管道中的项。在
相关问题 更多 >
编程相关推荐