首页  >  问答  >  正文

python - pyspider怎样传递信息给下一个函数,但是不通过url

有的时候向通过pyspider直接传递信息给下一个函数,但是没有cral一个新的url的需求。

比如说,一个列表页面某部分信息需要传递给下一个函数,但是不想通过列表的url传递。

想过用send_message的方法来做,还有就是用self.crawl的response.save来做(url随便写一个比较好爬的网站)
但是这两个方法都不是特别好。

请问有什么好的方法吗。

淡淡烟草味淡淡烟草味2687 天前529

全部回复(2)我来回复

  • ringa_lee

    ringa_lee2017-05-18 11:02:39

    下一个函数已经执行结束了,它已经不存在了,你怎么传递传递信息给一个不存在的东西?

    回复
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-18 11:02:39

    无非跳转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
    

    回复
    0
  • 取消回复