2016-09-08 26 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