前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >开源项目Trip: 给Requests加上协程

开源项目Trip: 给Requests加上协程

作者头像
Python中文社区
发布2018-02-01 11:00:45
8690
发布2018-02-01 11:00:45
举报
文章被收录于专栏:Python中文社区Python中文社区

專 欄

❈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,你不会后悔的!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-11-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python中文社区 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档