2016-09-08 163 views
-1

我试图获得通过从谷歌搜索结果中的谷歌片链接:获得通过IMPORTXML链接从谷歌搜索结果

我用下面的公式:

=ImportXML(CONCATENATE("http://www.google.de/search?q={site:www.amazon.de ",B3,"}&num=",D3), "//h3[@class='r']/a/@href") 

下面你可以找到电子表格:

https://docs.google.com/spreadsheets/d/1S0GI0d_J_8GxUp24631NDhzA_G__ihRRGeOJ5Re7N54/edit?usp=sharing

任何建议我做错了吗?

我很感谢你的回复!

+0

您应包括所有对问题本身的重要细节。不要强迫人们打开演示电子表格,以查看是否有错误消息或错误结果。 –

回答

0

两件事 - 一是你可以消除连接函数,并使用&来代替 - 它更简单并且效果完全相同 - 2你可以使用正则表达式替换arrayformula的格式来将结果字符串转换为真正的URL:

`=ARRAYFORMULA(REGEXREPLACE(IMPORTXML("https://www.google.de/search?q={site:www.amazon.de "&B1&"}&num="&C1"//h3/a/@href"),"(^.*q=)(.*)(&sa.*)","$2"))` 

对于使用&的URL,它看起来像这样:

https://www.google.de/search?q={site:www.amazon.de "&B1&"}&num="&C1

我简化为中的XPath此心不是必要的,但简单一点..

而REGEXREPLACE功能,我在3个捕获基团,由围绕括号表示:

(^.*q=)(.*)(&sa.*)

接着"$2"作为第三个参数,以指示它拉出SECOND捕获组,这是您试图获得的实际网站URL。

通过使用ARRAYFORMULA围绕这一切 - 这将其应用到所有的行,而不只是第一个

enter image description here