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

使用BeautifulSoup抓取https://mirror-h.org遇403错误如何解决

403错误原因及解决方法

核心问题排查

你的代码存在两个直接导致403报错的问题:

  • 你调用pandas.read_html(url)的时机早于headers定义,且该方法发起请求时没有携带任何请求头,网站识别到是爬虫请求直接返回403,这一步就已经触发了报错,后续你写的带headers的requests请求根本没有执行。
  • headers字典语法错误,user-agent:的冒号写在了引号内部,导致请求头格式错误,requests无法正确传递UA标识。

修正后的可运行代码

import requests
from bs4 import BeautifulSoup
import pandas as pd

url = "https://mirror-h.org/archive/page/1"
# 修正请求头语法,冒号在引号外,键名规范为User-Agent
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36'
}
# 先发起带请求头的请求,拿到正确响应后再做解析
response = requests.get(url, headers=headers)
# 确认响应状态正常再继续后续操作
if response.status_code == 200:
    soup = BeautifulSoup(response.content, 'html.parser')
    print(soup)
    # 如果需要解析页面表格,再把响应内容传给pandas
    # page = pd.read_html(response.text)
else:
    print(f"请求失败,状态码:{response.status_code}")

仍出现403的补充解决方案

如果按上面代码修改后还是返回403,可以按顺序补充请求头:

  • 补充Referer头,值设置为https://mirror-h.org/模拟从网站首页跳转过来的请求
  • 先手动访问一次网站拿到Cookie,把Cookie内容添加到请求头的Cookie字段中
  • 降低请求频率,避免短时间内多次请求被网站IP封禁

内容的提问来源于stack exchange,提问作者Tharika S.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 07:39:03