python建立一个http请求,通过Python发送多个HTTP请求的理想方法?

I am working on a Linux web server that runs Python code to grab realtime data over HTTP from a 3rd party API. The data is put into a MySQL database.

I need to make a lot of queries to a lot of URL's, and I need to do it fast (faster = better). Currently I'm using urllib3 as my HTTP library.

What is the best way to go about this? Should I spawn multiple threads (if so, how many?) and have each query for a different URL?

I would love to hear your thoughts about this - thanks!

解决方案

If a lot is really a lot than you probably want use asynchronous io not threads.

GRequests allows you to use Requests with Gevent to make asynchronous HTTP Requests easily.

import grequests

urls = [

'http://www.heroku.com',

'http://tablib.org',

'http://httpbin.org',

'http://python-requests.org',

'http://kennethreitz.com'

]

rs = (grequests.get(u) for u in urls)

grequests.map(rs)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值