gpt4 book ai didi

python - 如何重用Spider上的yield

转载 作者:行者123 更新时间:2023-12-01 01:29:59 26 4
gpt4 key购买 nike

我对 Scrapy 很陌生,对 Python 也很陌生。我在蜘蛛体内有多个具有相同 body 的yield

yield {
'url' : response.url,
'html' : response.css('body').extract(),
'title': response.css('title::text').extract_first(),
}

每个 yield 都在不同的解析方法中,但我只想编写一次 yield 并重复使用它。

我首先尝试了一种方法,将响应作为参数并返回yield。然后我从 parse 方法中调用了该方法,但 Scrapy 声称我无法返回 yield

最佳答案

您可以为该代码定义一个方法,例如:

def parse_item(self, response): 
yield {
'url' : response.url,
'html' : response.css('body').extract(),
'title': response.css('title::text').extract_first(),
}

并使用yield from从另一个方法调用它。例如:

def another_method(self, response)
# ...
yield from self.parse_item(response)

关于python - 如何重用Spider上的yield,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52978989/

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