我正在尝试使用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地图的链接。
答案 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”