我一直在尝试一种使用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" />.
似乎源代码中的所有相关节点都将包含“已发布”一词-是否可以构建我的查询,以便它从任何包含“已发布”一词的节点返回内容?
非常感谢!
答案 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'