python 的 requests 库使用异步并处理失败问题?

2014-02-22 16:03:56 +08:00
 pc10201
我找了一下requests本身没有异步功能
有一个库grequests,但网上就一个范例
我自己用gevent来写,不过通过 HttpAnalyzer抓包发现请求还是按顺序执行的
requests官网推荐了一个
https://github.com/ross/requests-futures
里面有回调函数
但现在有一个问题,比如说有50个关键词,要通过异步查排名,但百度推广实况查排名有频率限制,会有很多失败的,这些失败的我如何再去查一次直至全部查完?
10377 次点击
所在节点    Python
2 条回复
tonyseek
2014-02-22 16:30:53 +08:00
你需要把会发起请求的过程封装成一个函数,然后用 gevent.spawn 调用。这个和多线程是类似的,只在一个 Greenlet 里面当然还是顺序执行的。
mindcat
2014-02-22 20:09:39 +08:00
用grequests就是了喵~ 不知道怎么用就看测试范例喵

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/101367

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX