recherche

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

python2.7 - python关于回调函数的理解

我的代码想要通过count来计数,然后通过callback来调用tmp方法
本来想做的是每次循环,urls与topic_id一一对应,然后发出request到下一个方法中,但是,我下面的代码的结果是,先循环玩count一直到最后,然后才调用callback,并且传入的参数为topic_ids[0],是第一个,我不太理解callback,请指教~

count = 0
        # print topic_ids
        for u in urls:
            # print u
            # print topic_ids[count]
            yield scrapy.Request(
                    url=self.zhihu_topics_url + u,
                    # url = "https://m.zhihu.com/topics#物理学",
                    headers=headers,
                    meta={
                        "proxy": proxy,
                        "cookiejar": response.meta["cookiejar"],
                        "topic_id": topic_ids[count],
                    },
                    callback=self.tmp)
            count +=1
            print count

    def tmp(self, response):
        print "topic_id:  " + response.meta['topic_id']
高洛峰高洛峰2886 Il y a quelques jours238

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

  • 怪我咯

    怪我咯2017-04-17 17:44:58

    Je ne pense pas que ce soit un problème avec la fonction de rappel
    Comme le programme est non bloquant, la boucle doit d'abord être complétée, puis attendre l'io du réseau, capturer les données, puis exécuter votre fonction de rappel

    répondre
    0
  • Annulerrépondre