Parallel API requests in python

时间:2016-04-06 00:10:36

标签: python http concurrency urllib2

I am looking to implement the threading solution suggested here: What is the fastest way to send 100,000 HTTP requests in Python?

我的问题是,如果在进行URL调用后我的“做某事”将在列表中附加一个新行(使用data.append) - 这会导致任何问题吗?

另外,我也将是Python 2并使用urllib2 - 如果是urllib2而不是httplib,推荐的解决方案是否会改变?

2 个答案:

答案 0 :(得分:0)

由于您尝试实现IO绑定操作,我建议您使用gevent。这是example

或使用this回答。 Gevent不仅支持Python 2和Python 3,也支持PyPy,它也可以加速你的程序。

答案 1 :(得分:0)

Asynchronous IO是解决这个问题的方法。由于您的问题完全是IO绑定的,因此没有理由使用多个线程。如果你使用asyncio使用python 3.4,否则你可以使用郁金香。您还可以使用Trollius库,它在Python 2x中提供asyncio like语法。