Python请求Google规避429错误:仅修改Headers方案咨询
解决Google请求429错误的Headers修改方案
以下是针对Google服务器的Headers修改细节,完全聚焦于请求头调整,不涉及time.sleep():
替换默认User-Agent
Google会识别requests库默认的python-requests/x.x.x标识,直接判定为非浏览器请求。需替换为当前主流浏览器的User-Agent字符串,比如: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' }可以定期从真实浏览器的开发者工具中复制最新的UA,避免使用过于老旧的标识。
添加Referer头
模拟从Google自身页面跳转的请求,让请求来源更合理:headers['Referer'] = 'https://www.google.com/'如果是针对Google搜索结果的请求,Referer可以设为具体的搜索结果页URL。
完善Accept系列头
补充浏览器默认发送的内容协商头,匹配真实请求的特征:headers['Accept'] = 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8' headers['Accept-Language'] = 'en-US,en;q=0.5' headers['Accept-Encoding'] = 'gzip, deflate, br'补充连接与缓存控制头
添加符合浏览器行为的连接和缓存相关字段:headers['Connection'] = 'keep-alive' headers['Cache-Control'] = 'max-age=0'可选:添加合法会话Cookie
如果你有通过正常浏览器登录Google后的合法Cookie(需确保是自己账号的会话,不违反Google服务条款),可以将Cookie字符串加入Headers:headers['Cookie'] = 'YOUR_LEGAL_COOKIE_STRING'登录用户的请求通常会获得更宽松的频率限制,但务必遵守Google的使用规则。
完整请求示例
import requests url = "YOUR_GOOGLE_TARGET_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', 'Referer': 'https://www.google.com/', 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8', 'Accept-Language': 'en-US,en;q=0.5', 'Accept-Encoding': 'gzip, deflate, br', 'Connection': 'keep-alive', 'Cache-Control': 'max-age=0' } response = requests.get(url, headers=headers)
注意:即使调整了Headers,Google的反爬系统仍可能根据请求频率、IP等其他维度限制访问。此方案仅能降低被识别为爬虫的概率,无法完全避免429错误。
内容的提问来源于stack exchange,提问作者Yash
相关产品推荐
相关产品推荐

