Python 如何回到Scrapy中以前的蜘蛛
我想做一件事。我有一只蜘蛛是用刮痧写的。它有两个解析函数,如下所示Python 如何回到Scrapy中以前的蜘蛛,python,web-scraping,scrapy,Python,Web Scraping,Scrapy,我想做一件事。我有一只蜘蛛是用刮痧写的。它有两个解析函数,如下所示 def parse(self, response): ... for var in dict ... scrapy.Request(link + var, callback=self.parse_info) def parse_info(self, response) ... do something 我想做的是在parse_info中获取数据,完成后返回pars
def parse(self, response):
...
for var in dict
...
scrapy.Request(link + var, callback=self.parse_info)
def parse_info(self, response)
...
do something
我想做的是在parse_info中获取数据,完成后返回parse方法继续迭代。在scrapy中是否存在这样做的方法?您将在解析调用中使用'Yield',在解析信息调用中使用'return'
def parse(self, response):
...
for var in dict
...
yield Request(item['page_url'], callback=self.parse_info)
def parse_info(self, response)
...
do something
return something
你确定这样做我会继续迭代吗?不幸的是,这不是我需要的。当parse_info完成执行时,它将继续在parse方法中迭代,但我无法再调用解析中的任何返回。相反,我会打电话给return返回里面的字典parse@eng_mazzy:是的,我非常确定,因为我所有的刮刀都是这样工作的,我不知道你是否需要它,但这就是它的工作原理,这就是你问题的答案。你的问题和评论可能会更宝贵。像呼叫“返回”这样的事情并不存在,至少我没有听说过这样的事情。调用函数时,可能返回值,也可能不返回值。在提交此类评论时,将我的答案标记为否定是非常荒谬的。不要试图在一个解析函数中塞进太多东西。一个函数应该只做一件事。def parse:def parse_info:def parse_more_info:etc。。。。