使用Google表格上的ImportXML函数获取网页的发布日期

时间:2018-11-08 12:30:26

标签: html xpath google-sheets

我一直在尝试一种使用Google表格来返回网站上新闻报道的发布日期的方法。某些页面没有使这一点变得显而易见,或者根本没有提及发布日期,但是在页面源中通常有一个节点,例如:

<meta content="2018-10-16T00:03:35+0100" itemprop="datePublished" />

所以我想出了一个像这样的函数:

=ImportXml(A19, "//meta[@itemprop='datePublished']/@content") 

对于单元格A19中的URL,如果节点使用该语法,它将返回内容。

但是,在其他页面上,并不是完全一样-语法将是这样,并且Google表格会返回错误“导入的内容为空”:

<meta property ="article:published_time" content="2018-10-16T00:03:35+0100" />.

似乎源代码中的所有相关节点都将包含“已发布”一词-是否可以构建我的查询,以便它从任何包含“已发布”一词的节点返回内容?

非常感谢!

1 个答案:

答案 0 :(得分:0)

尝试此Xpath查询:

//meta[@*[contains(translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz'),'published')]]/@content

它将搜索任何包含“已发布”作为子字符串且不区分大小写的属性。

我在此字符串上对其进行了测试:

<meta content="2018-10-16T00:03:35+0100" anyprop="datepublishedhelloworld" />

它返回了此结果:

Attribute='content=2018-10-16T00:03:35+0100'

使用此工具https://www.freeformatter.com/xpath-tester.html