【一】参数及结果

【二】响应内容

>>> r = requests.get('https://github.com/timeline.json')

>>> print(r.content)

b'{"message":"Hello ......"}'

>>> print(r.encoding)

utf-8

>>> print(r.text)

{"message":"Hello....."}

【备注】如果改变了编码,每当方位r.text,Request都将会使用r.encoding的新值。你可能希望在使用特殊逻辑计算出文本的编码的情况下来修改编码。比如HTTP和XML自身可以指定编码。这样的话,应使用r.content来找到编码,然后设置r.encoding为响应的编码。

在需要的情况下,Requests也可以使用定制的编码。如果你创建了自己的编码,并使用codecs模块进行注册,就可以轻松使用这个解码器名称作为r.encoding的值,然后由Requests来为你处理编码。

【三】JSON响应内容
Requests中也有个内置的JSON解码器,助你处理JSON数据
>>> r = requests.get('https://github.com/timeline.json')
>>> r.json()
{'message':'Hello......'}
【备注】成功调用r.json()并不意味着响应的成功。有的服务器会在失败的响应中包含一个json对象。所以,要检查请求是否成功,用r.status_code来检查
>>> print(r.status_code)
410
【备注】被请求的资源在服务器上已经不可用,而且无任何的转发地址 【四】原始响应内容
>>> r = requests.get('https://gitbub.com/timeline.json',stream=True)
>>> r.raw
<urllib3.response.HTTPResponse object at 0x0000000003590BA8>
>>> r.raw.read(10)
b''
【备注】这是我自己运行的结果,官方的结果为
'\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\x03'
with open(filename,'wb') as fb:
for chunk in r.iter_content(chunk_size=5):
fb.write(chunk)
【结果】该文件内容同r.text
【备注】一般情况下,应用上方的模式将文本流保存到文件,使用Response.iter_content将会处理大量你直接使用Response.raw不得不处理的。当流下载时,上方是优先推荐的获取内容方式。
【五】定制请求头
这一块我不太熟悉,详见此篇随笔的引用地址

【Python】【有趣的模块】【requests】【二】快速上手的更多相关文章

  1. Python爬虫---requests库快速上手

    一.requests库简介 requests是Python的一个HTTP相关的库 requests安装: pip install requests 二.GET请求 import requests # ...

  2. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  3. Python模块-requests(二)

    会话对象 会话对象能够跨请求保持某些参数. 它也会在同一个 Session 实例发出的所有请求之间保持 cookie, 期间使用 urllib3 的 connection pooling 功能. 所以 ...

  4. Python中第三方模块requests解析

    一.简述 Requests HTTP Library 二.模块框架 ''' __version__ _internal_utils adapters api auth certs compat coo ...

  5. Python使用QRCode模块生成二维码

    QRCode官网https://pypi.python.org/pypi/qrcode/5.1 简介python-qrcode是个用来生成二维码图片的第三方模块,依赖于 PIL 模块和 qrcode ...

  6. Python的subprocess模块(二)

    原文:http://blog.chinaunix.net/uid-26000296-id-4461522.html 一.subprocess 模块简介 subprocess最早是在2.4版本中引入的. ...

  7. Python之常用模块(二)

    shelve xml处理 configparser hashlib logging   shelve模块 shelve是一个简单的k,v将内存数据通过文件持久化的模块,可以持久化任何pickle可支持 ...

  8. [b0043] python 归纳 (二八)_python测试使用快速上手

    参考 Python必会的单元测试框架 —— unittest # -*- coding: utf-8 -*- """ 测试代码组织,整理( 非可执行) "&qu ...

  9. python的requests快速上手、高级用法和身份认证

    https://blog.csdn.net/qq_25134989/article/details/78800209 快速上手 迫不及待了吗?本页内容为如何入门 Requests 提供了很好的指引.其 ...

  10. Python requests快速上手

    Python requests快速上手 这里参考官方文档,在ide中写了一遍,加深一下印象,定义的函数只是为了方便区分不同的请求方式 #-*-coding:utf-8-*- # Time:2017/1 ...

随机推荐

  1. 以太坊客户端Ethereum Wallet与Geth区别简介

    以太坊客户端Ethereum Wallet与Geth区别简介 最近有不少朋友在搭建交易平台,在咨询和技术交流的过程中发现很多朋友不太清楚Ethereum Wallet和Geth区别.甚至有朋友使用Ge ...

  2. margin、padding、border区分

    margin 是设置两个标签的间隔,也就是距离: padding 这个是比如一个p标签,它是100px*100px,我们使用的时候p标签的文字是贴着p标签的最左侧的,想要它的文字距离边界远一点,好看一 ...

  3. [转载]ASP.NET页面之间传递值的几种方式

    页面传值是学习asp.net初期都会面临的一个问题,总的来说有页面传值.存储对象传值.ajax.类.model.表单等.但是一般来说,常用的较简单有QueryString,Session,Cookie ...

  4. docker 初步使用

    CentOS Linux release 7.2.1511 Docker version 17.03.1-ce 安装与启动 yum直接安装的docker版本较低,推荐这样安装: # 官方,可能网络连不 ...

  5. VS 域名绑定IIs 调试

    一排致敬老师傅:https://www.cnblogs.com/woxpp/p/5805624.html 问题: 域名www.jinhuang.com,网站的ip地域跳转出问题,需要测试. ①修改Ho ...

  6. DevExpress 数据绑定

  7. 配置使用 git 秘钥连接 GitHub

    配置使用 git 秘钥连接 GitHub 在Linux下部署Git环境 1.安装Git. 使用命令安装 git . sudo apt-get install git 2.创建一个 Github 账号 ...

  8. Keil uVision4 创建51单片机工程

    Keil uVision4 创建51单片机工程 版权声明:未经授权,严禁转载! 在学习51单片机的过程当中,我们需要使用 Keil uVision4 来创建一个项目,今天就来图示一下创建的流程. 首先 ...

  9. Java利用JNI调用C/C++写成的DLL

    前言 由于学期作业的要求,笔者需要开发一个语音识别系统.出于对Java的热爱,笔者非常想用Java来写上层程序(前台+数据库的三层),又要用到Microsoft Speech SDK,所以在这些条件下 ...

  10. 2018-2019-1 20189206 《Linux内核原理与分析》第二周作业

    Linux内核分析 第二周学习 知识总结 操作系统与内核 操作系统 指在整个系统中负责完成最基本功能和系统管理的那些部分 内核 实际是操作系统的内在核心 内核独立于普通应用程序,拥有受保护的内存空间和 ...