xpath跳过丢失的表图像

问题描述

我正在从表中抓取图像URL和文本,我想知道如何为缺少图像的单元格不收集任何信息(或至少不收集URL)。我不想删除任何行,因为我想按原样重现该表。这是an example的表格,其中缺少图片,并且html位于右侧。

enter image description here

我在Google表格中使用了以下内容:

=importxml(D1,"//div[@class='colsx immagine']/img/@src")
=importxml(D1,"//div[@class='coldx domanda']")

,如果所有图像都在那里(如此page),则可以很好地获取每一行的图像URL和文本。但是,如果缺少任何图像,那么我将为下表中的(错误)图像收集一个URL。如果没有img网址,我想跳过网址收集。

我刚刚开始学习xpath,我怀疑我需要使用|not来解决此问题,但是由于我没有尝试过,所以需要一些帮助。

谢谢

解决方法

您可以通过添加另一个谓词来解决此问题。因此,假设您想用图片列出//div[@class='lista']的网址,则可以使用

=importxml(D1,"//div[@class='lista' and div/img]/div[@class='colsx immagine']")
=importxml(D1,"//div[@class='lista' and div/img]/div[@class='coldx domanda']")
=importxml(D1,"//div[@class='lista' and div/img]/div[@class='coldx risposta active gius']")

等等。
这应该跳过所有没有img标签的“ lista” div类,并选择其URL。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...