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

使用Selenium访问Hipercor链接遇权限限制,requests请求超时求解决

可行解决方案

针对访问Hipercor商品页面遇到的权限拦截和超时问题,以下是几个实用的解决方向:

1. 强化Selenium的反检测配置

仅设置User-Agent不足以绕过反爬,需要补充更多浏览器特征伪装:

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

chrome_options = Options()
# 使用较新的合法User-Agent
user_agent = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
chrome_options.add_argument(f'user-agent={user_agent}')
# 禁用自动化检测标识
chrome_options.add_argument('--disable-blink-features=AutomationControlled')
# 启用隐身模式
chrome_options.add_argument('--incognito')
# 禁用扩展和弹窗拦截
chrome_options.add_argument('--disable-extensions')
chrome_options.add_argument('--disable-popup-blocking')
# 添加适配目标站点的语言头
chrome_options.add_argument('--accept-language=es-ES,es;q=0.9')

driver = webdriver.Chrome(options=chrome_options)
driver.get("http://www.hipercor.es/supermercado/0110118613501925-schweppes-tonica-original-100-aromas-naturales-botella-20-cl-envase-de-vidrio/")

2. 使用代理IP

超时和权限拦截大概率是IP被目标网站封禁,更换代理可以解决:

  • Selenium配置代理:
chrome_options.add_argument('--proxy-server=http://your-proxy-ip:port')
  • requests配置代理:
import requests

proxies = {
    'http': 'http://your-proxy-ip:port',
    'https': 'http://your-proxy-ip:port'
}
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36'
}
response = requests.get("http://www.hipercor.es/supermercado/0110118613501925-schweppes-tonica-original-100-aromas-naturales-botella-20-cl-envase-de-vidrio/", 
                        headers=headers, proxies=proxies, timeout=30)

3. 模拟真实用户访问路径

不要直接请求商品页,先从网站首页进入,模拟自然的搜索、点击行为:

from selenium.webdriver.common.by import By

driver.get("http://www.hipercor.es/")
# 等待页面加载
driver.implicitly_wait(10)
# 模拟搜索目标商品
search_box = driver.find_element(By.NAME, 'search')
search_box.send_keys("schweppes tonica original 20cl")
search_box.submit()
# 等待搜索结果加载,点击目标商品链接
driver.implicitly_wait(10)
product_link = driver.find_element(By.PARTIAL_LINK_TEXT, "Schweppes Tónica Original 100% Aromas Naturales")
product_link.click()

4. 使用undetected-chromedriver

这是专门绕过反爬检测的ChromeDriver分支,无需手动配置大量参数:

from undetected_chromedriver import Chrome, ChromeOptions

options = ChromeOptions()
options.add_argument('--incognito')
driver = Chrome(options=options)
driver.get("http://www.hipercor.es/supermercado/0110118613501925-schweppes-tonica-original-100-aromas-naturales-botella-20-cl-envase-de-vidrio/")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 04:30:32