使用Python requests爬虫时,如何获取当前最常用的请求头?
获取当前常用请求头的几种方法
方法一:用第三方库自动生成
直接使用fake-useragent库,它会定期同步主流浏览器的最新User-Agent数据,无需手动维护列表。
先安装库:
pip install fake-useragent
使用示例:
from fake_useragent import UserAgent import requests ua = UserAgent() # 随机生成一个当前主流的User-Agent headers = {"User-Agent": ua.random} response = requests.get("目标URL", headers=headers)
这个库会自动处理版本更新,每次调用ua.random都会返回一个符合当前流行版本的请求头。
方法二:手动采集最新数据
如果不想依赖第三方工具,有两种手动更新方式:
- 从浏览器直接获取:打开浏览器开发者工具(F12),切换到「Network」标签页,访问任意网站后查看请求的
Request Headers,复制其中的User-Agent字段更新到你的列表。 - 按版本规则生成:主流浏览器(如Chrome、Firefox)每月更新版本,你可以按照固定格式替换最新版本号。比如Chrome的格式为:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/[最新版本号] Safari/537.36
方法三:维护动态本地配置
把User-Agent列表放在单独的配置文件中,爬虫运行时读取,后续更新只需修改配置文件,不用改动核心代码。
示例配置文件ua_list.txt(每行一个User-Agent):
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36 Mozilla/5.0 (Macintosh; Intel Mac OS X 14_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/17.1 Safari/605.1.15 Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:119.0) Gecko/20100101 Firefox/119.0
读取配置的代码:
import random import requests def get_random_ua(): with open("ua_list.txt", "r", encoding="utf-8") as f: ua_list = [line.strip() for line in f if line.strip()] return {"User-Agent": random.choice(ua_list)} headers = get_random_ua() response = requests.get("目标URL", headers=headers)
内容的提问来源于stack exchange,提问作者Xavier
相关产品推荐
相关产品推荐

