响应对象:text 和content
解决中文乱码问题
import requests
url = 'https://www.baidu.com'
# 发送请求
# 得到响应对象,保存到response中
response = requests.get(url)
# 方法一:得知编码格式之后,手动设置编码格式(两行代码)
response.encoding = 'utf8'
# 打印源码,以str类型
print(response.text)
# print(response.encoding) 用来判断编码格式,用来放置乱码
# 方法二:写一行,若是不写.decode就会得到二进制数据
# response.content是存储的bytes类型的相应源码,可以进行decode操作
print(response.content.decode())
响应对象
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
# 常见的响应对象参数和方法
# 相应url
print(response.url) # 不一定准确
# 状态码
print(response.status_code)
# 响应对象的请求头
print(response.request.headers)
# 响应头
print(response.headers)
# 答应响应设置cookies
print(response.cookies) # 对象两边是尖括号
requests发送请求
-
import requests
url = 'https://www.baidu.com'
response = requests.get(url)
print(len(response.content.decode())) # 获取长度
print(response.content.decode())
# 发送带请求头的请求
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36'
} # 构建请求头字典
response1 = requests.get(url, headers=headers) # 发送请求
print(len(response1.content.decode()))
print(response1.content.decode())
# 获得数据立马变多,这就是在给请求做伪装,让他以为是浏览器在发送请求