为人类提供异步http,协同路由请求。

trip的Python项目详细描述


https://img.shields.io/pypi/v/trip.svghttps://img.shields.io/pypi/l/trip.svghttps://img.shields.io/pypi/pyversions/trip.svghttps://img.shields.io/badge/Say%20Thanks-!-1EAEDB.svghttps://img.shields.io/badge/中文---%3E-yellow.svg

trip,tornado&;成对请求,一个用于python的异步http库。

简单如请求,trip让你摆脱了烦人的网络阻塞。

python 2.7+中的协同程序可以很简单:

importtripdefmain():r=yieldtrip.get('https://httpbin.org/get',auth=('user','pass'))print(r.content)trip.run(main)

旅行结束了 one hundred requests in one piece of time

trip的名字来自两个强大的网站包,目的是将它们结合在一起。 trip指的是“成对的龙卷风和请求”,trip。 为了将它们组合在一起,我重用了它们的许多关于结构和处理的代码。 实际上,我只做了很少的努力,使混合物。多亏了 TornadoRequests

通过使用trip,您可以充分利用请求,包括: 具有cookie持久性的会话、浏览器样式的ssl验证、自动内容解码, 基本/摘要身份验证,优雅的密钥/值cookies。 同时,您的请求是协同的,就像使用Tornado的AsynchttpClient一样,网络阻塞将 没问题。

发现很难优化蜘蛛的时间消耗? 使用asyncio http包很棘手吗? 找到了重保管的大蜘蛛架? 试试旅行吧,你不会后悔的!

安装

将其粘贴到您的主机中,享受:

$ python -m pip install trip

文档

文件在这里:http://trip.readthedocs.io/

高级用法

此处列出了一些高级功能:

在python 3中使用async和await:

importtripasyncdefmain():r=awaittrip.get('https://httpbin.org/get',auth=('user','pass'))print(r.content)trip.run(main)

具有cookie持久性的会话

importtripdefmain():s=trip.Session()r=yields.get('https://httpbin.org/cookies/set',params={'name':'value'},allow_redirects=False)r=yields.get('https://httpbin.org/cookies')print(r.content)trip.run(main)

事件挂钩

importtripdefmain():defprint_url(r,*args,**kwargs):print(r.url)defrecord_hook(r,*args,**kwargs):r.hook_called=Truereturnrurl='http://httpbin.org/get'r=yieldtrip.get('http://httpbin.org',hooks={'response':[print_url,record_hook]})print(r.hook_called)trip.run(main)

超时

importtripdefmain():r=yieldtrip.get('http://github.com',timeout=0.001)print(r)trip.run(main)

代理

importtripproxies={'http':'127.0.0.1:8080','https':'127.0.0.1:8081',}defmain():r=yieldtrip.get('https://httpbin.org/get',proxies=proxies)print(r.content)trip.run(main)

如何贡献

  1. 你可以开个会跟我分享你的想法。
  2. 或者用叉子叉这个project,在master分支上自己动手。
  3. 请编写错误或新功能的演示代码。你知道,代码有帮助。
  4. 最后,如果你完成了你的工作,并提出一个拉请求,我将在必要的测试后及时合并它。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将多个线程中的函数放入单个队列   数组在Java中,如何在不改变整数顺序的情况下找到整数组的顺序?   java控制器属于表示层?   java Apache Ivy和本地Maven repo如何处理使用Maven 3构建的快照   Java可与泛型类型进行比较   java这个表达式在泛型中是什么意思   JavaEclipse和TeamCity插件   java检测构造函数中的final是否为空   java如何在StanfordCoreNLP管道中同时使用词汇化和依赖性解析器?   java在AntUnit控制台日志中显示完整异常堆栈跟踪   lambda如何与Java 8供应商建立连锁关系   如何让GRPC的重试机制在Kubernetes集群中使用grpcjava工作?   如何使用openjdk:7 Docker映像和Gradle包装器避免“EC参数错误”?   java将集合映射扩展为一维映射新的“无法推断函数接口类型”