Python 如何在spider上重用产量
我对Scrapy很陌生,对python也很陌生。 我有多个Python 如何在spider上重用产量,python,scrapy,web-crawler,yield,Python,Scrapy,Web Crawler,Yield,我对Scrapy很陌生,对python也很陌生。 我有多个yield,在一个spider中具有相同的主体 yield { 'url' : response.url, 'html' : response.css('body').extract(), 'title': response.css('title::text').extract_first(), } 每个yield都有不同的解析方法,但我只想编写yield一次并重用它 我首先尝试了一个方法,该方法将respon
yield
,在一个spider中具有相同的主体
yield {
'url' : response.url,
'html' : response.css('body').extract(),
'title': response.css('title::text').extract_first(),
}
每个yield
都有不同的解析方法,但我只想编写yield
一次并重用它
我首先尝试了一个方法,该方法将response作为参数并返回yield
。
然后我从parse方法调用了该方法,但是Scrapy声称我不能返回
yield
看起来您想要这样的东西
item = {
'url' : response.url,
'html' : response.css('body').extract(),
'title': response.css('title::text').extract_first(),
}
yield item
yield item
yield item
您可以为该代码定义一个方法,例如:
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)
我个人不明白你的问题是什么。。。但也许您需要查阅一些关于收益率及其作用的教程