从 Google 搜索结果中获取第一个 URL

问题描述 投票:0回答:2

我正在尝试使用以下公式从 Google 搜索结果中检索第一个 URL,但收到错误消息

Imported content is empty. 
:

=IMPORTXML("https://www.google.com/search?q=cnn&num=1", "//cite")

结果 URL 似乎包含在结果页面中的

cite
标记内,但公式未按预期运行。我预计这个公式会返回
https://www.cnn.com
。与
//h3
相同的公式与 XPath 一样返回标题。

知道我做错了什么吗?

google-apps-script google-sheets web-scraping google-sheets-formula google-search
2个回答
0
投票

问题:

cite
标签是通过脚本动态生成的,因此无法使用像
IMPORTXML
这样的公式。

如果您禁用 JavaScript 并刷新页面,您就会看到这种情况。您将不再看到该元素。

解决方法:

URL 也可在

div
中使用,它是包含标题的
h3
元素的同级元素。该元素不是通过脚本动态注入的,因此可以通过
IMPORTXML
访问它。相反检索它:

=IMPORTXML("https://www.google.com/search?q=cnn&num=1", "//h3/following-sibling::div")

enter image description here

相关:


0
投票

我尝试了lamblichus的解决方案,但似乎不起作用(#N/A导入的内容为空)。我想该网页的网站管理员确实阻止了这种情况。事实是...我不想从网页获取任何数据,而是从 Google 搜索的第一个结果中获取链接。

© www.soinside.com 2019 - 2024. All rights reserved.