从<span>标签提取文本异常求助:无法获取正确商品价格
爬取商品价格异常的原因分析
1. glomark.lk椰子页面<span id='product-promotion-price'>内容为空的原因
- 动态渲染加载:该网站的商品价格通过JavaScript动态填充,
requests仅能获取页面初始HTML,此时价格标签尚未被JS注入真实数据,所以BeautifulSoup拿到的是空标签。 - 反爬策略拦截:网站可能识别出爬虫请求,故意返回空的价格字段;或需要额外请求头(如Cookie、Referer)验证请求合法性,未携带时无法获取真实价格。
2. 另一页面<span class='price'>返回Rs.0.00的原因
- 初始占位值未被替换:页面价格标签初始值为Rs.0.00,真实价格由JS在页面加载后动态替换,
requests无法执行JavaScript,只能获取初始占位数据。 - 请求头不完整:仅添加User-agent不足以模拟真实浏览器请求,服务器可能需要Cookie、Accept-Language等其他头信息验证,未携带时返回默认占位价格。
- 上下文依赖限制:部分网站价格与用户地区、登录状态绑定,未携带对应标识(如地区Cookie)时,服务器返回默认的0.00作为无匹配数据的占位。
内容的提问来源于stack exchange,提问作者Sasani Perera
相关产品推荐
相关产品推荐

