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

使用Python requests爬取Indeed印度站遇403错误求解决方案

解决requests爬取Indeed印度站403错误的非Selenium方案

问题说明

使用Python的requests库请求https://in.indeed.com时返回403状态码,仅验证状态码就失败,需要非Selenium的解决办法。测试代码如下:

url = "https://in.indeed.com"

hdr = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) 
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36'}

result = requests.get(url,headers = hdr)

print(result)

解决方案

403错误一般是网站反爬机制识别出请求并非正常浏览器发起,以下是几个有效的调整方向:

  • 完善请求头字段:仅提供User-Agent不足以模拟真实浏览器,需要补充Accept、Accept-Language、Referer等常见请求头字段,让请求更贴近浏览器行为。
  • 用Session维持会话:通过requests.Session()创建会话对象,它会自动处理Cookie,模拟浏览器的会话状态,降低被拦截概率。
  • 更新User-Agent版本:避免使用过于老旧的浏览器版本标识,换成近期的Chrome版本号。

修改后的示例代码

import requests

url = "https://in.indeed.com"

# 模拟现代Chrome浏览器的完整请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/128.0.0.0 Safari/537.36',
    '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',
    'Referer': 'https://www.google.com/',
    'Cache-Control': 'max-age=0',
    'Connection': 'keep-alive'
}

# 使用Session发起请求
with requests.Session() as session:
    result = session.get(url, headers=headers)
    print(result.status_code)
    # 可选:打印部分响应内容验证是否成功获取页面
    # print(result.text[:500])

额外提示

  • 如果仍被拦截,可尝试添加Upgrade-Insecure-Requests: 1字段到请求头。
  • 不要高频发起请求,添加合理的请求间隔,避免触发频率限制。

内容的提问来源于stack exchange,提问作者Aavinash

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 03:45:34