python2.7 - python关于回调函数的理解
高洛峰
高洛峰 2017-04-17 17:42:58
[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']
高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
怪我咯

感觉不是callback函数的问题
因为程序是非阻塞的,所以肯定是循环先跑完,然后等待网络io,抓取到数据了,然后再执行你的callback函数

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号