【一】参数及结果

【二】响应内容

>>> 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. avr定时器做的正弦波

    2010-04-19 16:53:00 实物照片如下 RC电路的电阻为1K与10K时的波形分别如下 仿真图片如下: 程序如下: #include <iom16v.h> #include & ...

  2. CRM 权限设置

    表结构的设计 权限表 url -url地址的正则表达式 ^$ title - 标题 角色表 name - 角色名称 permissions 多对多关联权限表 (权限和角色的关系表) 用户表 name ...

  3. Codeforces 937A - Olympiad

    A. Olympiad 题目链接:http://codeforces.com/problemset/problem/937/A time limit per test 1 second memory ...

  4. easyui dialog 和 dategrid相关设置与应用

    1 dialog一些参数   可以进行文件上传等操作closed:true:定义初始状态为关闭:modal:true:对话框被打开时,会有一个modal-mask,使得对话框底部的内容被一个层覆盖,不 ...

  5. 纯干货:深度学习实现之空间变换网络-part2

    https://www.jianshu.com/p/854d111670b6 纯干货:深度学习实现之空间变换网络-part1 在第一部分中,我们主要介绍了两个非常重要的概念:仿射变换和双线性插值,并了 ...

  6. django后台管理-ModelAdmin对象

    Django最强大的部分之一是自动生成的管理后台界面. 它从你的模型中读取元数据,以提供一个快速的.以模型为中心的界面,信任的用户可以在这里管理你网站上的内容. 建议管理后台仅作为组织的一个内部管理工 ...

  7. lnmp vhost 文件

    server { listen 80 default_server; #listen [::]:80 default_server ipv6only=on; server_name blog.yang ...

  8. centos误删mysql root用户找回办法

    一天,我进入mysql后,查看所有用户 select host,user from mysql.user; 发现好多用户名, 太乱了,删除..... delete from user where us ...

  9. Elasticsearch.Net使用(一)【入门篇】

    http://blog.csdn.net/wulex/article/details/52138564 加数据 //在调用下面的index方法的时候,如果没有指定使用哪个index,ElasticSe ...

  10. 为什么预处理和参数化查询可以防止sql注入呢?

    在传统的写法中,sql查询语句在程序中拼接,防注入(加斜杠)是在php中处理的,然后就发语句发送到mysql中,mysql其实没有太好的办法对传进来的语句判断哪些是正常的,哪些是恶意的,所以直接查询的 ...