一、简介
requests 是一个用来向网页发送请求的第三方 HTTP 库。相比于 urllib,它的语法更加简洁易懂,能够明显提高你编写代码的效率和体验。
二、预备知识
1.HTTP 协议
HTTP(Hyper Text Transfer Protocol)意为超文本传输协议,它提供了一种发布和接收 HTML 网页的方法,我们一般称客户端为 User-Agent(代理用户程序),应答的服务器上存储着一些资源,比如 HTML 文件和图像,我们称这个应答服务器为源服务器。而 HTTP 就是一个客户端终端(User)和服务器端(Web)请求和应答(也就是浏览网页的过程)的标准。
2.请求方法
在 HTTP 协议中,定义了八种方法来操作指定的资源:
options #使服务器传回该资源所支持的所有http请求方法,可以测试服务器功能是否正常运作
head #向服务器发出指定资源的请求,只不过服务器将不传回资源的文本部分
get #向指定的资源发出“显示”请求
post #向指定资源提交数据,请求服务器进行处理(例如提交表单或者上传文件)
put #向指定资源上传最新内容
delete #请求服务器删除所标识的资源
trace #显示服务器收到的请求,用于测试
connent #通常用于 SSL 加密服务器的链接。
通常我们浏览网页时,其实就是一个 get 方法,从服务器端加载网页出来。get 也是其中最常用的一种方法, 而在我们平常使用(比如爬虫)时,几乎都要用到这个方法。
三、Requests 库
# 导入 requests 库
import requests
# 获取网页请求
r = requests.get(url, hreaders=)
# 获取网页内容,主要是文本信息
r.text[:1000]
# 查看编码格式,或更改编码格式
r.encoding = r.appter
# 获取二进制的内容信息
r.content
# 返回 json 内容
r.json()
# 检查状态码
r.status_code
#获取请求时的请求头
r.headers
# 用 history 方法来追踪重定向
r.history
# 超时设定
r = requests.get('http://www.baidu.com', timeout=0.1)