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

Scrapy使用XPath提取图片链接结果与浏览器显示不一致问题咨询

问题解答

1. Scrapy获取内容和浏览器不一致的原因

你观察到的差异是网页图片懒加载+JavaScript动态渲染机制导致的:
网站为了优化加载速度、减少初始请求开销,初始返回的HTML里对应img标签的src是占位内容,只有当页面加载到对应可视区域(或页面初始化完成后),才会通过JS代码把真实的图片地址替换到src属性中。Scrapy默认只会请求获取初始HTML、不执行页面内嵌的JS代码,因此只能拿到未被替换的占位src。

2. 该data开头内容的定义

这个是Data URI Scheme(数据统一资源标识符),支持把小文件的内容直接编码嵌入到URI中,无需额外发起HTTP请求获取资源。你拿到的内容是一个1x1像素的透明SVG图片,作用是预先占住图片渲染位置、避免页面布局在真实图片加载后出现跳动。

3. 能否从该内容提取目标图片

完全不能,这个URI仅包含占位透明SVG的内容,和你需要的真实房源图片没有任何关联。

4. 该现象的成因

这个是网页本身的性能优化/基础反爬机制导致的,和Scrapy的配置无关,所有静态爬虫的默认行为都是仅获取初始HTML内容、不执行页面JS,都会拿到相同的占位内容。

可选的解决思路

  • 先检查对应img标签的所有属性,大部分懒加载实现会把真实图片地址存在data-src、data-original等自定义属性中,直接提取对应属性值即可
  • 搜索页面内嵌的<script>标签内容,房产类网站通常会把完整的房源信息(包括全量图片地址)存在页面内嵌的JSON数据中,无需渲染JS就能直接提取
  • 如果确实需要执行JS才能拿到数据,可以对接Scrapy-Playwright、Splash等渲染工具,等待JS执行完成后再提取内容
    你提到已经通过提取其他标签内容实现需求,属于上述第二种思路的范畴,是性价比最高的解决方案,不需要额外对接渲染工具。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 18:36:04