爬虫解析时如何复制Cookie获取信息?如何获取并传入Cookie至requests.get?
一、从浏览器获取Cookie的步骤(以Chrome为例)
- 打开目标网站,先切换到你需要的城市页面(确保Cookie包含对应城市的标识信息)
- 按
F12或右键点击页面选择「检查」,打开开发者工具 - 切换到「Application」标签(旧版Chrome显示为「Storage」)
- 在左侧菜单展开「Cookies」,点击目标网站的域名
- 右侧会列出所有Cookie键值对:
- 若只需要单个关键Cookie(比如城市标识、登录态),直接复制「Name」和「Value」字段内容
- 若需要完整Cookie,右键点击任意Cookie项,选择「Copy all cookies」,复制完整的Cookie字符串
二、将Cookie传入requests.get方法
方法1:把Cookie字符串转成字典
先将浏览器复制的Cookie字符串(格式类似key1=value1; key2=value2; ...)转换为Python字典:
# 替换成你从浏览器复制的Cookie字符串 cookie_str = "city=chengdu; session_id=abc123; auth_token=xyz789" cookies = {} # 拆分字符串并转为字典,按第一个=拆分避免value包含=的情况 for item in cookie_str.split(';'): key, value = item.strip().split('=', 1) cookies[key] = value
然后带着Cookie发起请求,建议同时加上User-Agent模拟浏览器请求:
import requests url = "目标页面的URL" headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36" } # 传入cookies参数发起请求 response = requests.get(url=url, headers=headers, cookies=cookies) # 解析响应提取特定城市价格数据(示例用BeautifulSoup) from bs4 import BeautifulSoup soup = BeautifulSoup(response.text, 'html.parser') # 假设价格元素的class为price-item price_list = soup.find_all(class_='price-item') for price in price_list: print(price.get_text().strip())
方法2:单个Cookie键值对直接传入
如果只需要少数关键Cookie(比如城市标识),也可以直接构造字典传入:
cookies = {"city": "guangzhou"} # 后续请求代码和上面一致
注意事项
- Cookie可能会过期,若请求失败,重新从浏览器复制最新的Cookie即可
- 部分网站会校验
Referer、Accept-Language等请求头,建议把浏览器的完整请求头复制到headers中,提升请求成功率 - 确保复制的Cookie是对应城市页面的,部分网站会将城市编码存储在Cookie里,切换城市后Cookie会同步更新
内容的提问来源于stack exchange,提问作者Beginner
相关产品推荐
相关产品推荐

