Trip: 让协程与网络服务人类

pypi

Trip 是一个协程的网络库,使用如Requests一般简单的操作就可以让网络延时不再阻塞你的程序。

Python的协程可以这么简单(兼容Python 2.7-3.7):

import trip

@trip.coroutine
def main():
    r = yield trip.get('https://httpbin.org/get', auth=('user', 'pass'))
    print(r.content)

trip.run(main)

有了协程,同样的代码量,一百份请求一份时间

Trip的名字来源于其两个依赖包,也旨在将两个包的内容融合起来:'Tornado & Requests Is Paired'。 在兼容中使用了大量上述两个包结构和处理的代码,我只是做了一些简单的整合工作,感谢 TornadoRequests让我能如此轻易的完成本项目的编写。

通过使用Trip,你可以充分使用Requests的各种特性,包括但不限于:带持久 Cookie 的会话、 浏览器式的 SSL 认证、自动内容解码、 基本/摘要式的身份认证、 优雅的 key/value Cookie。 同时你的请求又和使用Tornado的AsyncHTTPClient一般是协程的,网络延时不再会阻塞你的 程序,在程序正常运行的时候你可以同时等待多项任务的完成。

爬虫耗时太久优化困难吗?各种协程网络框架难以使用吗?大型爬虫框架臃肿无法灵活定制吗? 试试Trip,你不会后悔的!

无论你是使用的2.7,3.3,3.7,Trip都可以完美运行。

用户手册

这部分内容是最基础的使用说明,如果你有Requests的使用基础,那么这部分完全可以快速浏览甚至 跳过。我不会怪你不好好看这部分文档的,当然也别因为这里的问题来问我哦。