Rumah  >  Soal Jawab  >  teks badan

python - Bagaimanakah pyspider menghantar maklumat ke fungsi seterusnya, tetapi tidak melalui url

Kadang-kadang maklumat dihantar terus ke fungsi seterusnya melalui pyspider, tetapi tidak perlu membuat URL baharu.

Sebagai contoh, bahagian tertentu maklumat pada halaman senarai perlu dihantar ke fungsi seterusnya, tetapi anda tidak mahu menghantarnya melalui URL senarai.

Saya terfikir untuk menggunakan kaedah send_message, dan juga menggunakan respons.save self.crawl (tulis URL tapak web yang lebih mudah untuk dirangkak)
Tetapi kedua-dua kaedah ini tidak bagus.

Ada kaedah yang bagus?

淡淡烟草味淡淡烟草味2735 hari yang lalu568

membalas semua(2)saya akan balas

  • ringa_lee

    ringa_lee2017-05-18 11:02:39

    Fungsi seterusnya telah selesai dilaksanakan dan ia tidak lagi wujud. Bagaimanakah anda menghantar maklumat kepada sesuatu yang tidak wujud?

    balas
    0
  • 曾经蜡笔没有小新

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

    Ini tidak lebih daripada panggilan balik lompat, data yang telah keluar menghasilkan, tetapi anda masih perlu mengujinya.

    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
    

    balas
    0
  • Batalbalas