主要记录requests常见用法,windows,python3.9
安装
pip install requests
导入
import requests
请求方式
请求方式 | 意义 | 备注 |
requests.get() | 从服务器获取数据 | 采用url参数传递数据 |
requests.post() | 向服务器传递数据 | 发送params参数的信息 |
requests.put() | 不常用请求方式 | |
requests.delete() | 不常用请求方式 |
语法
参数 | 意义 |
url | 网址 |
headers | {‘User-Agent’:‘HTTP表头’},不带表头,爬虫容易被识别 |
params | 需要传递的参数,采用键值对的形式传递 |
data | 传递form表单数据,与json二选一 |
json | 传递json参数,与data二选一 |
timeout | 设置超时时间 |
proxies | IP地址 |
cookies | 用户信息 |
allow_readirects | 是否开启重定向,布尔值 |
vertify | 禁止证书验证 |
相关函数
函数 | 意义 |
rep.encoding | 从http 表头中提取响应内容编码 |
rep.apparent_encoding() | 从http内容中分析响应内容编码 |
rep.content | 以bytes(二进制)形式返回,常用于图片,文件 |
rep.text | 返回的是Unicode型数据,常用于文本 |
rep.url | 返回重定向后的url |
rep.headers | 返回响应的表头 |
rep.status_code | 响应状态码 |
rep.json() | json方式解析内容 |
rep.raise_for_status() | 请求失败(非200响应),抛出异常 |
rep.cookies | 返回响应的cookie |
HTTP响应码
1XX(informational) | 请求已经收到,正在进行中 |
2XX(successful) | 请求成功接受,解析,完成 |
3XX(Redirection) | 需要重定向 |
4XX(Client Error) | 客户端问题,请求存在语法错误,网址未找到 |
5XX(Server Error) | 服务器问题 |
会话
保持会话状态,需与cookie结合使用
session = requests.session()
常用模版
# !/usr/bin/python3.9
# -*- coding:utf-8 -*-
# @author:inganxu
# 优快云:inganxu.blog.youkuaiyun.com
# @Date:2022年1月1日
import requests
import os
# 初始url
url = ''
# 浏览器表头
header = {'User-Agent': ''}
# 设置传递参数
params = {'key1': 'value1', 'key2': 'value2'}
# 设置IP代理
proxies = {}
# 向服务器发出请求返回bytes格式,二选一
response = requests.get(url=url,
headers=header,
params=params,
timeout=3,
proxies=proxies).content.decode()
# 向服务器发出请求返回str格式,二选一
response = requests.get(url=url,
headers=header,
params=params,
timeout=3,
proxies=proxies).encoding('utf-8')
# 打印HTTP响应编码
print(response.status_code)
# 新建文件
file = open('./test.txt','wb')
# 写入文件
file.write(response.text)
# 关闭文件
file.close()
print(response.text)
参考资料:
两万字博文教你python爬虫requests库【详解篇】_孤寒者的博客-优快云博客_requests
全方面的掌握Requests库的使用【python爬虫入门进阶】(02)_码农飞哥-优快云博客
后续将逐块详细补充