封装库
grequests
简介
requests
作者写的基于gevent的异步请求库。
地址
https://github.com/kennethreitz/grequests
示例
1 | import grequests |
get
方法参数与requests.get()
参数相同,当然也支持post
,put
,delete
等方法。
请求失败默认返回None,可以给map
方法传递。exception_handler
参数指定请求失败的回调函数。
map支持的参数如下:
1 | :param requests: a collection of Request objects. |
另外如果要希望返回生成器可以使用imap方法。不过imap方法size默认为2,且没有gtimeout参数。
requests-threads
简介
requests
作者的另一个异步请求模块,基于Twisted
框架。
地址
https://github.com/requests/requests-threads
示例
1 | from twisted.internet.defer import inlineCallbacks |
txrequests
简介
同样是基于twisted
框架的异步requests
模块。
地址
https://github.com/tardyp/txrequests
示例
1 | from txrequests import Session |
treq
简介
基于twisted
的异步网络请求库,致力于提供与requests
类似的接口。此模块文档较完善。
地址
https://github.com/twisted/treq
示例
1 | def main(reactor, *args): |
trip
简介
基于tornado
的异步网络请求库。
地址
https://github.com/littlecodersh/trip
示例
1 | import trip |
底层库
gevent
简介
Python2中最常见的异步库。
地址
https://github.com/gevent/gevent
示例
1 | import gevent |
自动将网络请求转换为异步模式的monkey patch:
1 | from gevent import monkey |
twisted
pass
tornado
pass
待续