当前位置:首页>python>Python爬虫必备:requests模块完全指南

Python爬虫必备:requests模块完全指南

  • 2026-10-11 07:11:46
Python爬虫必备:requests模块完全指南

requests 是 Python 爬虫最常用的第三方库,简洁优雅的 API 让 HTTP 请求变得简单高效。本文将全面介绍 requests 的核心用法。

一、安装 requests

使用 pip 快速安装:

pip install requests -i https://pypi.tuna.tsinghua.edu.cn/simple

二、基本使用

import requests

url = "https://www.baidu.com"
response = requests.get(url=url)

三、响应内容详解

属性
说明
response.text
响应体(str类型)
response.content
响应体(bytes类型)
response.status_code
响应状态码
response.headers
响应头
response.cookies
响应的cookie
response.url
请求的URL

四、携带请求头

💡 为什么要携带请求头?
部分网站会检测请求头进行反爬,未携带正确请求头可能被拒绝访问。

import requests

url = 'https://www.baidu.com'
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)"
}
response = requests.get(url, headers=headers)

五、携带请求参数

使用 params 参数传递查询字符串,用于数据筛选等场景。

import requests

kw = {'wd': 'java'}
response = requests.get('https://www.baidu.com/s', params=kw)

六、GET 与 POST 请求

GET 请求

requests.get(url, params=data)

参数使用 params

POST 请求

requests.post(url, data=data)

参数使用 data

七、Cookie 处理

cookies = {"name": "value"}
requests.get(url, headers=headers, cookies=cookies)

八、Session 会话管理

Session 可以跨请求保持 cookie,实现会话持久化。

import requests

session = requests.Session()
response = session.get('https://www.baidu.com')

# 获取cookie
cookies = requests.utils.dict_from_cookiejar(response.cookies)

九、高级设置

🔄 重定向控制

requests.get(url, allow_redirects=False)

False 禁止重定向,True 允许(默认)

🔒 SSL 证书验证

response = requests.get(url, verify=False)

False 跳过证书验证,True 验证(默认)

⏱️ 超时设置

response = requests.get(url, timeout=3)

单位:秒,超过指定时间抛出异常

🌐 代理设置

proxies = {
"http": "http://10.10.1.10:3128",
"https": "http://10.10.1.10:1080"
}
requests.get(url, proxies=proxies)

十、请求重试机制

使用 retrying 模块实现自动重试:

# 安装:pip install retrying
from retrying import retry

@retry(stop_max_attempt_number=3)
defrequest_with_retry():
    response = requests.get(url)
return response

十一、POST 数据格式

表单数据

requests.post(url,
data={"kw": "python"})

JSON 数据

requests.post(url,
json={"kw": "python"})

📌 核心要点总结

✅ GET 请求用 params,POST 请求用 data/json
✅ 使用 Session 保持会话状态
✅ 设置 timeout 和 retry 提高稳定性
✅ 携带 User-Agent 模拟浏览器
✅ 代理 proxies 突破 IP 限制

觉得有用请点赞收藏 ⭐
欢迎转发分享

最新文章

随机文章