首页 > 解决方案 > 使用 IMPORTXML 时,为什么我可以得到 IMG ALT 而不是 IMG SRC?

问题描述

我正在尝试使用 Google 表格作为刮板来从特定商店获取产品描述价格和图像。https://www.aliexpress.com/store/group/xiaomi-Aqara-Smart-home/2389096_516541380.html

我正在尝试从此页面检索图像 URL,但最后,我无法使其正常工作。

<div class="pic">
  <a class="pic-rind" href="//www.aliexpress.com/item/4000465413353.html?spm=2114.12010612.8148356.1.185c37e4M653t1" data-spm-anchor-id="2114.12010612.8148356.1">
    <img class="picCore lazy-load" alt="Aqara Opple Zigbee Smart Switch Light Switch Smart App Control Wireless Wall Switch Work With Mijia App Apple Homekit" src="//ae01.alicdn.com/kf/Hc5db6afe8de841f9a6ef4673dfb957c5W/Aqara-Opple-Zigbee-Smart-Switch-Light-Switch-Smart-App-Control-Wireless-Wall-Switch-Work-With-Mijia.jpg_200x200.jpg"
      style="visibility: visible;" data-spm-anchor-id="2114.12010612.8148356.i0.185c37e4M653t1"></a>
</div>

使用//img[@class='picCore lazy-load']/@alt有效并正确返回Alt 文本。

但是,当我更改@alt@src, (我真正想要的信息)时,它会返回#N/A错误- 导入的内容为空)。

我的理解是我应该看到//ae01.alicdn.......jpg(实际的图像源)。Xpath 我缺少什么吗?

提前感谢您的帮助!

编辑:如果我使用@*,我实际上可以在src之后看到预期的结果alt,但它会被扔到下面的行中,我认为这就是破坏性的原因。不知道如何将它包含在一行或其他东西中。

标签: google-sheets-importxml

解决方案


该页面是使用 javascript 动态加载的,您问题中的示例 html 就是由此产生的结果。如果没有一些技巧(您可以搜索脚本来处理动态加载的页面),GS 无法检索该数据。

幸运的是,并非所有数据都是这样加载的。如果您在该页面上禁用 JS,您将获得大部分相同的数据,包括<img>信息;只有这一次 - 它看起来像这样:

<img class="picCore lazy-load" image-src="//ae01.alicdn.com/kf/Hc5db6afe8de841f9a6ef4673dfb957c5W
/Aqara-Opple-Zigbee-Smart-Switch-Light-Switch-Smart-App-Control-Wireless-Wall-Switch-Work-With-Mijia.jpg_200x200.jpg" alt="Aqara Opple Zigbee Smart Switch Light Switch Smart App Control Wireless Wall Switch 
Work With Mijia App Apple Homekit">

所以你必须使用的 xpath 表达式是:

//img[@class='picCore lazy-load']/@image-src

那将输出

//ae01.alicdn.com/kf/Ha01fb531f16546368249b1efab8767341/Original-Aqara-Wireless-Flood-Water-Immersing-Smart-Sensor-IP67-Waterproof-Smart-Remote-Control-For-Mijia-Mi.jpg_200x200.jpg
//ae01.alicdn.com/kf/Hc5db6afe8de841f9a6ef4673dfb957c5W/Aqara-Opple-Zigbee-Smart-Switch-Light-Switch-Smart-App-Control-Wireless-Wall-Switch-Work-With-Mijia.jpg_200x200.jpg
//ae01.alicdn.com/kf/H91d4b49011494602be752b446c45b530e/Aqara-Wall-Switch-D1-ZigBee-Smart-Zero-Line-Fire-Wire-Light-Remote-Control-Wireless-Key-Wall.jpg_200x200.jpg
//ae01.alicdn.com/kf/H5078881ea11a443182bd3d3989ddf2a2r/Aqara-P3-Air-Conditioning-Companion-ZigBee-3-0-With-Temperature-Humidity-Sensor-Smart-Remote-Control-For.jpg_200x200.jpg

等等


推荐阅读