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

使用Python3.6解析网站遇urllib.error.HTTPError 302无限重定向问题求助

解决urllib.error.HTTPError: 302无限重定向问题

嘿,这个302无限重定向的问题我之前也踩过坑!本质是目标网站识别出你的请求不是正常浏览器发起的,或者urllib默认的重定向逻辑没跟上网站的跳转规则,导致一直在循环跳转。给你几个实用的解决思路和改进后的代码:

  • 给请求加个「浏览器身份」:很多网站会拦截urllib默认的请求头,识别出是爬虫就反复重定向,模拟浏览器的User-Agent就能解决大部分这类问题。
  • 改用更省心的请求库:urllib的重定向处理比较死板,requests库默认会自动处理重定向,还能帮你自动管理cookie,操作起来简洁很多。

改进后的urllib版本代码

from urllib.request import urlopen, Request
from bs4 import BeautifulSoup
import ssl

# 保留你原来的忽略SSL证书逻辑
ctx = ssl.create_default_context()
ctx.check_hostname = False
ctx.verify_mode = ssl.CERT_NONE

# 模拟浏览器的请求头,避免被识别为爬虫
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

url = "你的目标URL"
# 用Request对象包装请求,带上自定义headers
req = Request(url, headers=headers)

try:
    response = urlopen(req, context=ctx)
    html = response.read()
    soup = BeautifulSoup(html, 'html.parser')
    # 在这里写你的HTML解析逻辑
except urllib.error.HTTPError as e:
    print(f"HTTP错误: {e}")
except Exception as e:
    print(f"其他错误: {e}")

更推荐的requests版本代码

如果可以的话,建议直接换成requests库(安装命令:pip install requests),它的重定向处理更智能,代码也更简洁:

import requests
from bs4 import BeautifulSoup
import ssl

# 保留忽略SSL证书的逻辑
ssl._create_default_https_context = ssl._create_unverified_context

# 同样模拟浏览器请求头
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
}

url = "你的目标URL"

try:
    # requests默认自动处理重定向,最多30次,不会陷入无限循环
    response = requests.get(url, headers=headers, verify=False)
    response.raise_for_status()  # 主动抛出HTTP请求错误
    soup = BeautifulSoup(response.text, 'html.parser')
    # 在这里写你的HTML解析逻辑
except requests.exceptions.HTTPError as e:
    print(f"HTTP错误: {e}")
except Exception as e:
    print(f"其他错误: {e}")

如果以上方案还是不行,那可能是目标网站需要登录权限,你得先获取登录后的Cookie再携带请求。不过先试试上面的方法,大部分302循环问题都是请求头的锅。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 08:10:38