> 技术文档 > python基础:request模块简介与安装、基本使用,如何发送get请求响应数据,response属性与请求头

python基础:request模块简介与安装、基本使用,如何发送get请求响应数据,response属性与请求头

1. request模块简介与安装
request在爬虫中最重要的就是帮助我们发送请求
request基本使用
参考网址:https://requests.readthedocs.io/projects/cn/zh-cn/latest/
2. 核心特性:

  • 简单易用的API无需手动处理连接、编码或者复杂的参数设置,一行代码即可发送请求
  • 支持所有的HTTP方法GET、post、put、delete、head、options等
  • 自动处理多种功能
  • 丰富的请求配置支持设置请求头
    3. pip安装requests
    终端命令: pip install requests(如果出现pip不是内部或者外部命令,也不是可运行的程序或者批处理文件,原因是没有配置pip的环境变量)
    安装之后检查一下: pip show requests
    执行后的结果:python基础:request模块简介与安装、基本使用,如何发送get请求响应数据,response属性与请求头
    这里可以看到requests的版本是2.32.4
  1. 发送get请求
import requests# 执行爬虫:爬虫流程# 1.准备目标网址的url地址# 2.发起获取网页返回结果# 3.处理响应结果# 4.储存数据# url地址url = \'https://www.baidu.com\'# 向url发送get请求response = requests.get(url)# 打印响应结果,response.text一般能够根据响应自动解码# print(response.text)#response.encoding = \'utf-8\'# 获取网页源码,为了能够正确解码网页内容,可以尝试以下几种方式# response.content.decode()# response.content.decode(\'GBK\')# response.text# 推荐:最稳妥的方式是使用response.content.decode(),因为它能够通过指定编码的方式来确保正确解码# print(response.text)try: content = response.content.decode()except UnicodeDecodeError: try: content = response.content.decode(\'gbk\') except UnicodeDecodeError: content = response.textprint(content)
  1. 响应数据的获取
import requests# url地址url = \'https://www.baidu.com\'# 向url发送get请求response = requests.get(url)# 3.打印结果print(\"---------------请求地址------------\")print(response.url)print(\"---------------响应体str类型结果------------\")print(response.text)print(\"---------------响应头------------\")print(response.headers)print(\"---------------响应状态码------------\")print(response.status_code)print(\"---------------响应对应的请求头------------\")print(response.request.headers)print(\"---------------响应体bytes类型------------\")print(response.content)print(\"---------------响应对应请求的cookie------------\")print(response.request.headers.get(\'cookies\'))print(\"---------------响应的cookie,经过了set cookie的动作------------\")print(response.cookies)print(\"---------------响应对应请求的url------------\")print(response.url)
  1. 获取网页源码的通用方式
  2. response的其他属性
  3. 携带http请求头
  4. 图片下载案例
  5. 字符集编码