【问题标题】:XPath Query for URL Extraction用于 URL 提取的 XPath 查询
【发布时间】:2020-09-13 19:18:50
【问题描述】:

我需要从这段代码中提取http://site.ru/:

<div class="one">
<dl>
<dt class="two">
<span class="name">Site</span>
</dt>
<dd class="three">
<span class="js-pseudo-link" data-url="rAnDoMlEtTeRsAnDnUmBeRs" style>
<a href="http://site.ru/" class rel="nofollow" target="_blank" style> http://site.ru/ </a>
</span>
</dd>
</dl>
</div>

我使用这个 XPath 查询://div//dl//dd//span//a/@href

但它不起作用。它不返回任何东西。 我是 XPath 的新手。

【问题讨论】:

  • 根据站点的不同,您可能不允许这样做,因为页面是在加载后生成的。网站是什么?
  • 很遗憾,您要查找的数据源是一个空的 span 节点(js-pseudo-link 类)。 data-url 是您想要的 base64 编码链接。此节点仅在加载后才会填充。 ImportXML 出于某种原因会忽略没有文本的节点,并且没有办法让它不这样做。为了解决这个问题,看起来您必须编写一个可以处理空节点的应用程序脚本,或者只获取原始 HTML 代码并对其进行解析。

标签: xpath google-sheets extract data-extraction


【解决方案1】:

很遗憾,您要查找的数据源是一个空 span 节点(js-pseudo-link 类)。 data-url 属性具有您想要的 base64 编码链接。此节点仅在加载后才会填充。 ImportXML 出于某种原因忽略了没有文本的节点,并且没有办法让它不这样做。为了解决这个问题,您似乎必须编写一个可以处理空节点的应用程序脚本,或者只获取原始 HTML 代码并对其进行解析。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-09
    • 1970-01-01
    • 2011-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多