基于bs4与requests的Supreme代理脚本故障求助(urllib3卸载重装后失效)
解决Supreme抓取脚本的运行问题
首先看你贴的脚本开头就有语法错误呀!你把两个导入语句写在一行了,正确的写法应该是分开的两行:
import requests from bs4 import BeautifulSoup
这个低级错误会直接导致脚本启动失败,先把这个改了再说。
然后说回urllib3的问题:requests库本身是深度依赖urllib3的,你直接卸载urllib3相当于拆了requests的底层核心组件,哪怕之后重装urllib3,也可能因为版本不匹配、环境缓存残留等问题,导致requests还是没法正常工作。建议你按以下步骤修复环境:
- 先彻底卸载requests和urllib3,避免残留问题:
pip uninstall -y requests urllib3 - 然后重新安装requests,它会自动安装适配当前版本的urllib3,无需手动指定:
pip install requests
另外,Supreme的反爬机制一直很严格,之前你的脚本“勉强运行”,现在环境出问题后可能雪上加霜,还要注意几个关键细节:
- 检查代理配置是否正确:包括代理地址、端口,若使用付费代理还要确认认证信息是否填写完整
- 给请求添加真实的浏览器请求头:比如
User-Agent、Referer,模拟正常用户访问行为 - 控制请求频率:不要短时间内频繁发送请求,避免IP被封禁
最后给你一个修正后的基础脚本示例(包含代理和请求头配置):
import requests from bs4 import BeautifulSoup # 替换成你自己的代理信息 proxies = { 'http': 'http://your-proxy-addr:port', 'https': 'https://your-proxy-addr:port' } # 模拟Chrome浏览器的请求头 headers = { 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36', 'Referer': 'https://www.supremenewyork.com/' } try: # 发起请求,启用代理和请求头 response = requests.get('https://www.supremenewyork.com/shop', headers=headers, proxies=proxies) response.raise_for_status() # 主动抛出请求错误(比如403、500) # 解析页面内容 soup = BeautifulSoup(response.text, 'html.parser') print("页面请求成功!可以开始解析商品信息了") # 这里添加你的解析逻辑,比如提取商品名称、价格等 except Exception as e: print(f"运行出错:{str(e)}")
先按上面的步骤一步步排查:先修正语法错误,再修复依赖环境,最后检查代理和反爬配置,应该就能解决问题了。
内容的提问来源于stack exchange,提问作者bobo
相关产品推荐
相关产品推荐

