Python 爬虫之GRequests异步模块

系统 4011 0

Python 爬虫之GRequests异步模块

运行环境:

系统: win10
Python版本: Python 3.6.6

GRequests是异步非阻塞的异步请求第三方包,使用了协程gevent,GRequests封装了gevent的requests模块。

安装:

 pip install grequests

  

简单使用

# -*- coding: utf-8 -*-
# @Time    : 2019/6/13 10:02
# @Author  : 甄超锋
# @Email   : 4535@sohu.com
# @File    : test.py
# @Software: PyCharm

import grequests

urls = [
    'http://www.heroku.com',
    'http://python-tablib.org',
    'http://httpbin.org',
    'http://python-requests.org',
    'http://fakedomain/',
    'http://kennethreitz.com'
]
time1 = time.time()
exception_url = []  # 异常url存储列表
rs = (grequests.get(u) for u in urls)  # 异步url请求


# 异常捕获方法
def exception_handler(request, exception):
    print(request.url)
    exception_url.append(exception_url)
    print(exception)
print(rs)
# 此处map的requests参数是装有实例化请求对象的列表,其返回值也是列表, size参数可以控制并发的数量, 不设置为 最大并发数,并发数也不能太大,怕你的机器抗不下来,最大控制到1000吧
res_list = grequests.map(rs, size=1, exception_handler=exception_handler)
print(res_list)
# 查看返回值的属性值,我们关注的一般就是text json links  url headers 等
res_text_list = [ret.text for ret in res_list if ret and ret.status_code == 200]
for res_text in res_text_list:
    print(res_text)
time2 = time.time()
T = time2 - time1
print(u'use_grequests发起5个请求花费了{}秒'.format(T))

 

本次GRequests异步请求包就介绍到这里,喜欢请收藏,点赞,关注,谢谢


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论