一、requests使用详解
导入模块包
import requests
1. 发送请求
requests.get(请求地址)
直接获取请求地址对应的数据(请求对象没有要求是浏览器的时候)
requests.get(请求地址, headers=请求头)
直接获取请求地址对应的数据,并且通过请求头完成浏览器伪装
headers的获取,可以以谷歌浏览器为例子获取
headers = {
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'
}
response = requests.get('https://movie.douban.com/top250', headers=headers)
2. 获取请求结果
1)直接打印响应对象,如果状态码不是200表示请求失败
print(response) # <Response [418]>、<Response [200]>
2) 获取状态码
print(response.status_code)
3) 设置编码方式(在请求结果中有乱码的时候设置, 设置成网页源代码中charset的值)
response.encoding = 'utf-8'
4) 获取响应头(可以查看服务器信息和返回的数据相关信息)
print(response.headers)
5)获取请求结果(获取从服务器中返回的数据)
a.方式1: 响应对象.text - 以字符串的方式获取到数据(请求对象是网页)
print(response.text)
b.方式2:响应对象.content - 以二进制的方式获取数据(请求对象是二进制数据,比如:下载图片、下载音视频等)
print(response.content)
c.方式3:响应对象.json() - 对请求结果进行json解析返回结果(请求对象是json接口)
print(response.json())
二、请求的三种情况
import requests
1. 爬网页数据 - 请求地址是网址
response = requests.get('https://cd.zu.ke.com/zufang')
if response.status_code == 200:
# 通过text获取请求结果,然后再进一步解析
print(response.text)
2. 下载图片、视频、音频 - 请求地址是图片地址、视频地址、音频地址
1) 对图片地址发送请求
response = requests.get('https://img2.baidu.