开源项目Trip: 给Requests加上协程
2017-11-08 00:00
218 查看
專 欄
❈LittleCoder,维护微信个人号python接口:http://itchat.readthedocs.io狂热bbt粉丝,业余写玩具。
GitHub ID:littlecodersh❈
Trip 是一个协程的网络库,如 Requests 一般简单的操作,程序不再被网络阻塞。你可以在这里获取本项目的源码:github (https://github.com/littlecodersh/trip/),兼容
Python 2.7+的所有版本,主流三大操作系统。基于两大依赖包:TRIP: Tornado & Requests In Pair。
感谢Tornado与Requests让想法可以快速变成现实,坦诚的说,这个项目我只做了一些简单的工作。
让协程变的简单
这是一个让协程变的简单的项目,你只需要这样:
一百份请求一份时间
基于 Tornado 的协程让网络阻塞不再成为问题:(这里演示兼容用法)
由于协程的特性,所有的等待时间重合在了一起。你不需要每个请求开一个线程,主线程中一切也可以井然有序的进行。可以想象如果你在写一个爬虫,这将节省多少时间!
让协程服务人类
基于 Requests 的操作方式让协程 HTTP 从未如此简单:(这里使用 Python3 演示async/await)
只要你有一些 Requests 基础就可以轻松使用 Trip,协程不再遥不可及。重现了几乎所有 Requests 的操作,最大限度的减少了你的学习成本。
以一个爬虫为例
为了不打扰正常网站的运行,这里以httpbin.org作为目标网站。
设置 Cookies 模拟登陆,get 请求模拟爬取内容。
那么普通 Requests 是这样的:
使用 Trip 以后就会变成这样:
几乎不需要修改代码,爬虫就获得了协程的特性!
最后
爬虫耗时太久优化困难吗?
各种协程网络框架难以使用吗?
大型爬虫框架臃肿无法灵活定制吗?
试试Trip,你不会后悔的!
❈LittleCoder,维护微信个人号python接口:http://itchat.readthedocs.io狂热bbt粉丝,业余写玩具。
GitHub ID:littlecodersh❈
Trip 是一个协程的网络库,如 Requests 一般简单的操作,程序不再被网络阻塞。你可以在这里获取本项目的源码:github (https://github.com/littlecodersh/trip/),兼容
Python 2.7+的所有版本,主流三大操作系统。基于两大依赖包:TRIP: Tornado & Requests In Pair。
感谢Tornado与Requests让想法可以快速变成现实,坦诚的说,这个项目我只做了一些简单的工作。
让协程变的简单
这是一个让协程变的简单的项目,你只需要这样:
一百份请求一份时间
基于 Tornado 的协程让网络阻塞不再成为问题:(这里演示兼容用法)
由于协程的特性,所有的等待时间重合在了一起。你不需要每个请求开一个线程,主线程中一切也可以井然有序的进行。可以想象如果你在写一个爬虫,这将节省多少时间!
让协程服务人类
基于 Requests 的操作方式让协程 HTTP 从未如此简单:(这里使用 Python3 演示async/await)
只要你有一些 Requests 基础就可以轻松使用 Trip,协程不再遥不可及。重现了几乎所有 Requests 的操作,最大限度的减少了你的学习成本。
以一个爬虫为例
为了不打扰正常网站的运行,这里以httpbin.org作为目标网站。
设置 Cookies 模拟登陆,get 请求模拟爬取内容。
那么普通 Requests 是这样的:
使用 Trip 以后就会变成这样:
几乎不需要修改代码,爬虫就获得了协程的特性!
最后
爬虫耗时太久优化困难吗?
各种协程网络框架难以使用吗?
大型爬虫框架臃肿无法灵活定制吗?
试试Trip,你不会后悔的!
相关文章推荐
- Trip: 给Requests加上协程,一百份网络请求一份时间
- cc美团商家界面加上SlidePage开源项目
- Trip: 协程Requests实战,获取免费代理
- python基础===基于requests模块上的协程【trip】
- 9个完整android开源app项目
- 如何把GitHub中的开源项目导入到Eclipse
- GitHub Android 开源项目汇总
- Github 平均 Star 为 3558 的机器学习开源项目,你错过了哪些?
- 借助开源项目,学习软件开发 .
- vue-router使用(附开源vue项目)
- 直接拿来用!最火的Android开源项目(一)
- 近百个Android优秀开源项目,覆盖Android开发的每个领域
- 你必须了解的RecyclerView的五大开源项目-解决上拉加载、下拉刷新和添加Header、Footer等问题
- 直接拿来用!最火的iOS开源项目(一)
- 直接拿来用!最火的iOS开源项目(一)
- 92个经典开源项目集锦
- GitHub上值得关注的iOS开源项目
- Android 开源项目UI库及组件资源
- [GitHub]第六讲:开源项目贡献流程
- iOS的各种开源项目集合