如何使用IMPORTXML获取Google搜索第一个结果的URL?

如何使用IMPORTXML获取Google搜索第一个结果的URL?,xml,xpath,google-sheets,Xml,Xpath,Google Sheets,我正在尝试使用谷歌电子表格中的ImportXML函数来查找谷歌搜索第一个结果的URL(不包括任何广告链接)。我想我知道所有搜索结果都显示在类为“r”的h3元素中,我希望下面的XPath表达式能够找到a)搜索结果的所有链接(括号中的部分),然后b)选择其中的第一个: =importxml(A1,"(//h3[@class='r']/a/@href)[1]") [其中A1是例如“=”https://www.google.com/search?q=U+芝加哥&num=10“] 不幸的是,我确实得到了

我正在尝试使用谷歌电子表格中的ImportXML函数来查找谷歌搜索第一个结果的URL(不包括任何广告链接)。我想我知道所有搜索结果都显示在类为“r”的h3元素中,我希望下面的XPath表达式能够找到a)搜索结果的所有链接(括号中的部分),然后b)选择其中的第一个:

=importxml(A1,"(//h3[@class='r']/a/@href)[1]")
[其中A1是例如“=”https://www.google.com/search?q=U+芝加哥&num=10“]


不幸的是,我确实得到了谷歌地图的链接

通过相关id缩小查询范围,如:

//ol[@id='rso']//h3[@class='r']/a/@href

我一直在为同样的事情挣扎。还没有找到一种方法来获取只返回一个URL的唯一XPath查询,但是您可以强制Google只返回最上面的搜索结果


在搜索URL中,将“&num=10”更改为“&num=1”。就是这样。

您应该将google参数设置为只返回一个结果,而不是过滤结果。查询参数应该包括响应的数量(num)和页面(start)


这两种方法都可以,您可以让它返回一个带有“&num=1”的结果,还可以使用xpath“//cite”

"https://www.google.com/search?q=stack+overflow&num=1&start=1"