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

requests.get无法捕获亚马逊商品页JS重定向问题求助

解决JavaScript触发的亚马逊商品页重定向问题

requests是纯HTTP请求工具,不会执行页面中的JavaScript,所以无法捕获由JS触发的重定向逻辑。针对这个问题,有两种可行的解决思路:

方法1:使用支持JS渲染的爬虫库(Playwright/Selenium)

这类工具会模拟真实浏览器环境,完整执行页面JS,自然能追踪到JS触发的重定向。以Playwright为例:

  • 先安装依赖:
    pip install playwright
    playwright install chromium
    
  • 编写代码实现重定向追踪:
    from playwright.sync_api import sync_playwright
    
    with sync_playwright() as p:
        # 启动无头浏览器(headless=False可查看可视化窗口)
        browser = p.chromium.launch(headless=True)
        page = browser.new_page()
        # 访问目标商品页
        page.goto('https://www.amazon.com/dp/...')
        # 等待网络 idle 状态,确保重定向完成
        page.wait_for_load_state('networkidle')
        # 输出最终重定向后的URL
        print("最终重定向URL:", page.url)
        browser.close()
    

方法2:解析页面源码中的JS重定向逻辑

部分亚马逊商品页的JS重定向会直接写在页面源码里,可通过正则匹配提取:

  • 先获取页面源码:
    import requests
    import re
    
    response = requests.get('https://www.amazon.com/dp/...', headers={"User-Agent": "你的浏览器User-Agent"})
    # 匹配常见的JS跳转逻辑
    redirect_pattern = r'window\.location(?:\.href)?\s*=\s*["\'](.*?)["\']'
    match_result = re.search(redirect_pattern, response.text)
    if match_result:
        print("提取到的JS重定向URL:", match_result.group(1))
    
  • 注意:这种方法依赖页面JS的固定写法,亚马逊若修改逻辑则会失效,稳定性不如模拟浏览器的方案。

反爬注意事项

亚马逊有严格的反爬机制,建议:

  • 添加真实的User-Agent请求头,模拟浏览器访问
  • 设置合理的请求间隔,避免短时间内频繁请求
  • 必要时使用代理IP分散请求来源

内容的提问来源于stack exchange,提问作者Jet.B.Pope

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 12:57:07