前提・実現したいこと
GASについてあまり詳しくないのですがググってもやりたいことを解決する方法が見つからなかったのでご相談させてください。
Googleサジェストの一括取得のスクレイピングをしたいのです。
調べたいキーワードが例えば、GASであれば、GAS + A~z、あ〜んをグーグル検索した場合のサジェストを一括で取得するようにしたいです。
該当のキーワードであるGASをA列に入れて、B列にGoogleサジェストの一覧を表示で取得できるようにしたいのですが、やり方がイマイチわかりません。
Google スプレッドシート
A列 | B列 |
---|---|
kw | kw +aの予測1 |
kw +aの予測2 | |
kw +aの予測3 | |
︙ | |
kw +bの予測1 | |
kw +aの予測2 |
該当のソースコード
GAS
1//サジェスト取得 2function test(){ 3 var ss = SpreadsheetApp.getActive().getSheetByName('test'); 4 var kw = ss.getRange("A1").getValue(); 5 var word = [" a"," b"," C"]; 6 var url = "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw +word ;"//suggestion/@data" ; 7 var res = UrlFetchApp.fetch(url).getContentText(); 8var values = XmlService.parse(res).getRootElement().getChildren("CompleteSuggestion").map(function(e) {return [e.getChild("suggestion").getAttribute("data").getValue()]}); 9ss.getRange(1, 3, values.length, values[0].length).setValues(values); 10}
このソースの中の
GAS
1 var word = [" a"," b"," C"]; 2 var url = "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw +word ;"//suggestion/@data" ;
ここをループさせたい
"http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw + a ;"//suggestion/@data" "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw + b ;"//suggestion/@data" "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw + c ;"//suggestion/@data" 〜〜〜 "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw + z ;"//suggestion/@data" "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw + あ ;"//suggestion/@data" 〜〜〜 "http://www.google.com/complete/search?hl=ja&output=toolbar&q="+kw + ん ;"//suggestion/@data"
みたいな形でサジェストの一覧を取得してB列に吐き出したいのですが、どのようにすればいいのでしょうか?
回答2件
あなたの回答
tips
プレビュー