You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python请求hh.ru页面返回404,浏览器可正常访问如何解决?

解决hh.ru请求返回404的问题

问题描述

尝试用Python的requests库请求hh.ru的职位搜索页面,代码如下:

url = 'https://hh.ru/search/vacancy'
print(url)
hh = requests.get(url)
hh_text = hh.text
print(hh_text)

运行后返回404错误,但该链接在浏览器中可以正常访问。

解决方法

hh.ru的反爬机制会识别非浏览器的请求,默认情况下requests发送的请求头没有模拟浏览器特征,因此被拦截返回404。只需添加模拟浏览器的请求头即可解决:

  1. 给requests.get()方法添加headers参数,包含User-Agent(浏览器标识)等关键字段
  2. 修改后的示例代码:
import requests

url = 'https://hh.ru/search/vacancy'
# 模拟Chrome浏览器的请求头,可根据自己的浏览器实际信息调整
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',
    'Accept-Language': 'ru-RU,ru;q=0.9,en-US;q=0.8,en;q=0.7'
}

response = requests.get(url, headers=headers)
# 验证状态码和返回内容
print(response.status_code)
print(response.text[:500])

补充说明

  • User-Agent是核心字段,它告诉服务器请求的来源设备和浏览器信息,替换成你当前使用的浏览器实际UA效果更好(可在浏览器开发者工具的Network面板中查看)
  • 如果后续仍遇到反爬限制,可尝试使用requests.Session()维持会话,或者添加更多请求头字段(如Accept、Referer等)

内容的提问来源于stack exchange,提问作者Анатолий Фролов

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 16:32:07