文章详情页
python - pyspider怎样传递信息给下一个函数,但是不通过url
问题描述
有的时候向通过pyspider直接传递信息给下一个函数,但是没有cral一个新的url的需求。
比如说,一个列表页面某部分信息需要传递给下一个函数,但是不想通过列表的url传递。
想过用send_message的方法来做,还有就是用self.crawl的response.save来做(url随便写一个比较好爬的网站)但是这两个方法都不是特别好。
请问有什么好的方法吗。
问题解答
回答1:下一个函数已经执行结束了,它已经不存在了,你怎么传递传递信息给一个不存在的东西?
回答2:无非跳转callback, 已出来的数据yield, 不过你还是测试一下.
def detail(self, response): next_urls = [i.attr.href for i in response.doc(’#fetch urls’)] for url in next_urls:self.crawl(url, callback=self.list_page) for i in items = [# some result]yield i
排行榜