Python 网络请求与爬虫基础
前言 运维和后端日常都绕不开"用程序取数据":调 API、抓页面、做监控探测。这篇把 Python 网络请求从入门到工程化讲一遍。 一、requests:把 HTTP 写成人话 import requests # GET(永远带 timeout!) r = requests.get( "https://httpbin.org/get", params={"page": 2, "size": 10}, # ?page=2&size=10 headers={"User-Agent": "my-spider/1.0"}, timeout=5, ) r.status_code # 200 r.json() # 解析响应体 r.text # 文本 r.headers["Content-Type"] # POST JSON r = requests.post( "https://httpbin.org/post", json={"name": "zy", "level": 5}, # 自动序列化 + Content-Type timeout=5, ) # POST 表单 / 文件上传 requests.post(url, data={"k": "v"}, timeout=5) requests.post(url, files={"f": open("a.png", "rb")}, timeout=5) # 常见 HTTP 动词 requests.put(url, json={...}); requests.delete(url); requests.head(url) 没有 timeout 的请求 = 随机挂死的脚本。timeout=(3, 10) 分别指连接和读取超时。 ...