亚马逊如何不更改URL加载下一页?爬取促销页无下页URL如何解决
亚马逊促销页分页实现逻辑及爬取方案
分页实现原理
- 亚马逊的分页按钮没有写死静态跳转链接,
href="#"是为了兼容HTML标签默认行为,按钮实际绑定了JavaScript点击事件监听器,点击时会先阻止默认的回到顶部行为,再执行下一页内容加载逻辑。 - 你在Network面板没抓到请求有两种可能:
- 你没有开启Network面板的「保留日志」选项,页面局部刷新时旧请求被清空了
- 亚马逊会将前N页的所有促销数据预加载到页面的隐藏JS变量中,点击分页时直接读取本地数据渲染,不会发起新的网络请求
- 不存在所谓的「隐藏URL」,但亚马逊的分页实际支持参数拼接访问,你可以直接在原促销页链接后加
?page=页码参数(比如?page=2)即可直接访问对应页的内容,只是前端没有把这个参数写到href属性里而已。
爬取解决方案
- 静态爬取方案:直接按页码拼接URL发起请求,注意携带完整的浏览器请求头(包括User-Agent、Cookie、referer等),控制请求频率避免触发反爬验证。
- 动态渲染方案:使用Playwright、Puppeteer等无头浏览器工具,模拟用户点击分页按钮,等待页面内容渲染完成后再提取数据,不需要手动找请求接口。
- 预加载数据提取方案:可以直接在页面加载完成后,提取window全局变量中存储的预加载商品数据,效率比逐页渲染更高。
内容的提问来源于stack exchange,提问作者Sam
相关产品推荐
相关产品推荐

