博客导语
requests是Python爬虫、接口测试最核心库,90%新手只会基础get请求,不懂参数伪装、会话保持、代理、超时重试,导致爬虫极易被封、请求不稳定。本文全覆盖企业级用法。
一、GET请求全用法
import requests url = "https://httpbin.org/get" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36" } params = {"name":"python", "age":20} res = requests.get(url, headers=headers, params=params, timeout=10) print(res.status_code) print(res.text)二、POST请求(表单/JSON)
# form表单 data = {"user":"test","pwd":"123"} res = requests.post(url, data=data, headers=headers) # json参数(接口最常用) json_data = {"key":"value"} res = requests.post(url, json=json_data)三、高级实战功能
1. 会话保持(自动携带Cookie)
session = requests.Session() session.post("登录接口", data=data) # 后续请求自动携带登录cookie res = session.get("个人中心")2. 代理IP配置(反爬必备)
proxies = { "http": "http://127.0.0.1:7890", "https": "http://127.0.0.1:7890" } res = requests.get(url, proxies=proxies)3. 超时与异常捕获
try: res = requests.get(url, timeout=5) except requests.exceptions.RequestException as e: print("请求异常:",e)四、响应数据解析
res.text:网页文本
res.json():json接口数据
res.content:二进制数据(图片/文件)