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

Python爬虫请求站点提示HTTP 404错误无法连接获取数据如何解决

问题排查与解决方案
  • 优先验证目标资源有效性
    你使用的URL对应2021年8月29日的历史赛事数据,站点大概率已下线过期赛事的对应路径。可直接将URL复制到浏览器无痕窗口访问,若浏览器也返回404,说明该资源确实已不存在,需要替换为当前有效赛事日期的URL,或查找站点最新的赛事数据接口路径。
  • 补全请求头避免反爬伪装404
    部分站点反爬策略会对请求头字段不全的请求返回伪装404,你当前仅携带了User-Agent字段,可补全浏览器正常请求携带的其他必填字段,降低被拦截的概率。
  • 检查接口参数规则变更
    若URL在浏览器可正常打开,说明站点可能调整了接口参数要求,比如新增了必填的鉴权参数、参数名/参数值规则变更,可通过浏览器开发者工具的网络面板,查看正常请求该接口时携带的所有参数和请求头,和你本地的请求配置做对比修正。

修正后参考代码

from bs4 import BeautifulSoup as soup
from urllib.request import urlopen as uReq
import urllib.request

my_url="https://tabletennis.setkacup.com/en/schedule?date=2021-08-29&hall=4&period=1"
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0',
    'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
    'Accept-Language': 'zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2',
    'Referer': 'https://tabletennis.setkacup.com/en/',
    'Connection': 'keep-alive',
    'Upgrade-Insecure-Requests': '1'
}

request = urllib.request.Request(my_url, None, headers)
try:
    uClient = uReq(request)
    # 后续页面解析逻辑
    page_html = uClient.read()
    uClient.close()
except urllib.error.HTTPError as e:
    print(f"请求错误,状态码:{e.code},错误信息:{e.reason}")

注意:如果确认目标历史资源已被站点下线,请更换为站点当前公开的有效数据路径,合规爬取公开信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:36:02