Python网络请求怎么写_requests库实战

10次阅读

requests 发请求核心三步:发请求、看响应、取数据;支持 get/post、参数与头定制、异常超时处理及 session 会话管理。

Python 网络请求怎么写_requests 库实战

requests 发网络请求,核心就三步:发请求、看响应、取数据。它比原生 urllib 简洁得多,是 Python 网络交互的首选工具。

基础 GET 请求:获取网页或 API 数据

最常用的是 requests.get()。比如请求一个公开 API:

  • 带 URL 就能发请求:res = requests.get("https://httpbin.org/get")
  • 检查是否成功:res.status_code == 200(不是只看有没有报错)
  • 拿到响应文本:res.text(字符串)或 res.json()(自动解析 JSON,若响应是合法 JSON)
  • 传参数更简单:用 params 字典,requests.get("https://httpbin.org/get", params={"key": "value"}) 会自动拼成 ?key=value

带参数和头的 POST 请求:模拟表单提交或调用接口

向服务器发送数据,常用 requests.post()

  • 传表单数据用 data 参数:requests.post(url, data={"user": "alice", "pwd": "123"})
  • 传 JSON 数据用 json 参数(自动设 Content-Type: application/json 并序列化):requests.post(url, json={"name": "Bob"})
  • 自定义请求头(如伪装浏览器、加认证):headers={"User-Agent": "Mozilla/5.0……", "Authorization": "Bearer xxx"}

处理异常与超时:别让程序卡死或崩溃

网络不稳定,必须做防护:

立即学习 Python 免费学习笔记(深入)”;

  • timeout 参数,单位秒,例如 requests.get(url, timeout=5),避免无限等待
  • 捕获常见异常:requests.exceptions.Timeoutrequests.exceptions.ConnectionErrorrequests.exceptions.HTTPError
  • 推荐写法:try……except 包住请求,失败时给提示或重试,不要让整个程序崩掉

带 Cookie 和 Session:维持登录态抓多页内容

需要保持状态(比如登录后访问个人页面),用 requests.Session()

  • 创建 session 对象:s = requests.Session()
  • 先登录(POST 账号密码),session 自动保存返回的 Cookie
  • 后续请求复用该 session:s.get("https://example.com/profile"),自动带上登录凭证
  • 适合爬取需登录的网站,或调用一连串关联接口

不复杂但容易忽略细节。把状态码、超时、异常、会话管理这四点盯住,requests 就能稳稳干活。

text=ZqhQzanResources