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

使用requests抓取电商商品价格无法获取全量HTML数据问题咨询

Ocado圣诞分类页全量商品爬取解决方案
  • 问题根因:Ocado该分类页采用懒加载+分页的前端渲染逻辑,直接发送静态GET请求只能拿到首屏渲染的30个商品数据,剩余商品需要触发页面滚动/分页请求才会加载。

方案1:抓包获取后端AJAX接口(推荐)

操作步骤:

  1. 打开浏览器访问目标页面,按F12打开开发者工具,切换到「网络」面板,筛选「Fetch/XHR」请求
  2. 手动向下滚动页面触发商品加载,观察新发送的请求,找到返回商品列表数据的接口,这类接口通常会携带page、offset、limit这类分页参数
  3. 直接构造接口请求即可批量获取全量商品数据,接口返回的一般是结构化JSON数据,无需解析HTML,效率更高。注意可以适当调整limit参数值提升爬取效率,不要设置过大避免触发反爬。
  • 优化原有请求头:你当前的请求头过于简单,建议补充User-Agent、Referer、Accept-Language等字段,完全模拟真实浏览器的请求配置,降低被反爬拦截的概率。

方案2:使用无头浏览器模拟用户操作

如果接口加密难以分析,可以用Selenium、Playwright这类自动化工具模拟真实用户操作:

  1. 启动无头浏览器打开目标页面
  2. 编写脚本循环模拟页面滚动到底部,每次滚动后等待1-2秒让商品完成加载,直到页面不再出现新的商品、或已加载商品数量达到4879为止
  3. 加载完成后直接获取完整页面源码,再解析提取价格信息即可
  • 该方案无需分析接口,适配性强,但爬取速度比直接请求接口慢。

额外注意事项

  • 控制请求频率,添加随机延迟,必要时搭配代理池使用,避免IP被封禁
  • 你现有代码中存在拼写错误:concent = response.text 应为 content = response.text

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 16:36:02