我真的在与xPath
挣扎。我已经阅读了几本指南,但我似乎无法做到这一点。
基本上,我想提取包含URLs
的所有"/ro_ro/"
。
<link rel="alternate" href="https://www.stackoverflow.com/pl_pl/" hreflang="pl-PL">
<link rel="alternate" href="https://www.stackoverflow.com/pt_br/" hreflang="pt-BR">
<link rel="alternate" href="https://www.stackoverflow.com/pt_pt/" hreflang="pt-PT">
<link rel="alternate" href="https://www.stackoverflow.com/ro_ro/" hreflang="ro-RO">
<link rel="alternate" href="https://www.stackoverflow.com/fi_fi/" hreflang="fi-FI">
理想情况下,xpath
查询会返回:https://www.stackoverflow.com/ro_ro/。
我已经接近了,但页面上有多个链接指向相同的URL
,但从未使用hreflang
属性。
我要大规模地执行此操作,我应该注意,这意味着我要提取的深页网址将如下所示:https://www.stackoverflow.com/ro_ro/xpath-help-for-a-noob/
编辑:有什么想法为什么会这么做?
答案 0 :(得分:1)
您可以使用以下公式
在Google电子表格中获取hreflang=importxml("https://example.org" ,"//link[@hreflang]/@href")
答案 1 :(得分:0)
在XPath
下面尝试从包含href
属性的link
元素中获取所需的hreflang
:
//link[@hreflang and contains(@href, 'ro_ro')]/@href
答案 2 :(得分:-1)
您应该可以使用语句
获取这些网址descendant::link[contains(@href, 'ro_ro')]
将文档的基节点作为当前节点
后代轴告诉xpath查看所有子节点。 :: link表示只选择名称为链接的节点,方括号内的表达式表示&#34;只选择那些href属性包含&#39; ro_ro&#39; -
的节点