一、requests使用详解
1. 发送请求
requests.get(请求地址) - 直接获取请求地址对应的数据(请求对象没有要求是浏览器的时候)
requests.get(请求地址, headers=请求头) - 直接获取请求地址对应的数据,并且通过请求头完成浏览器伪装
headers = {
'user-agent': 'xxxxx'
}
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.com/it/u=2091427528,3084959670&fm=253&fmt=auto&app=120&f=JPEG?w=128