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

时间:2014-02-12 14:31:27

标签: xml xpath google-sheets

我正在尝试使用Google Spreadsheets中的ImportXML功能来查找Google搜索的第一个结果的网址(不包括指向广告链接的任何链接)。我以为我明白所有的搜索结果都显示在一个带有“r”类的h3元素中,我希望下面的XPath表达式找到a)搜索结果的所有链接(括号中的部分)然后b)选择第一个那些:

=importxml(A1,"(//h3[@class='r']/a/@href)[1]")

[其中A1是例如“=” https://www.google.com/search?q=U+Chicago&num=10 “”]

很遗憾,我确实收到了Google地图的链接。

4 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:1)

按相关ID缩小查询范围,例如:

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

答案 2 :(得分:0)

我一直在努力做同样的事情。还没有办法获得只返回一个网址的唯一XPath查询,但您可以强制Google仅返回热门搜索结果!

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

答案 3 :(得分:0)

您可以同时执行这两项操作,您可以使用“& num = 1”返回一个结果,并使用xpath“// cite”