Python——Requests

2021年06月04日 99 字 Requests


持续更新中,敬请期待……

Python——Requests

一、安装requests

Windows

1
pip install requests

Linux

1
sudo pip install requests

二、获取响应内容

以百度为例

1
2
import requeste
r = requests.get('https://www.baidu.com')
代码 响应内容
r.text 服务器响应的内容,会自动根据响应头部的字符编码进行解码
r.encoding 服务器内容使用的文本编码
r.status_code 用于检测响应的状态码,如果返回200,就表示请求成功了;如果返回的是4xx,就表示客户端错误;返回5xx则表示服务器错误响应
r.content 字节方式的响应体
r.json() Requests中内置的JSON解码器

三、定制Requests

​ 我们使用Requests库获取了网页数据,但是有些网页需要对Requests的参数进行设置才能获取需要的数据,这包括传递URL参数、定制请求头、发送POST请求、设置超时等。

3.1 传递参数

​ 为了请求特定的数据,我们需要在URL的查询字符串中加入某些数据。如果你是自己构建URL,那么数据一般会跟在一个问号后面,并且以键/值的形式放在URL中.

1
2
3
4
5
6
7
import requests
params = {
'key1': 'value1',
'key2': 'value2'
}
r = requests.get('https://www.baidu.com', params = params)
print(r.url)

运行结果

1
https://www.baidu.com/?key1=value1&key2=value2

通过上述代码的输出结果可以发现URL已经正确编码

3.2 定制请求头

按下–>点击Network选项–>在左侧资源中找到请求的网页–>Headers中可以看到RequestsHeaders的详细信息

提取请求头中重要部分,代码如下:

1
2
3
4
5
6
7
import requests
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36',
'Host': 'www.baidu.com'
}
r = requests.get('https://www.baidu.com', headers = headers)
print(r.status_code)
本文作者: 猫头鹰爱睡觉
本文链接: https://gang-owl.github.io/2021/06/04/papa/