Maison  >  Questions et réponses  >  le corps du texte

python - Comment pyspider transmet-il les informations à la fonction suivante, mais pas via l'URL

Parfois, les informations sont transmises directement à la fonction suivante via pyspider, mais il n'est pas nécessaire de créer une nouvelle URL.

Par exemple, une certaine partie des informations d'une page de liste doit être transmise à la fonction suivante, mais vous ne souhaitez pas la transmettre via l'URL de la liste.

J'ai pensé à utiliser la méthode send_message, ainsi qu'à utiliser la réponse.save de self.crawl (écrire l'URL d'un site Web plus facile à explorer)
Mais aucune de ces deux méthodes n'est particulièrement bonne.

Existe-t-il une bonne méthode ?

淡淡烟草味淡淡烟草味2687 Il y a quelques jours531

répondre à tous(2)je répondrai

  • ringa_lee

    ringa_lee2017-05-18 11:02:39

    La fonction suivante a fini de s'exécuter et elle n'existe plus. Comment transmettre des informations à quelque chose qui n'existe pas ?

    répondre
    0
  • 曾经蜡笔没有小新

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

    Ce n'est rien de plus qu'un rappel, les données qui sont sorties vont céder, mais il faut quand même les tester.

    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
    

    répondre
    0
  • Annulerrépondre