Google Apps Scriptを使い、phantomjscloudを通じ下記動的サイトの検索結果をテキストで取得した際、画面に表示された全てのキーワード(※)を配列に格納することができません。
WEBでいろいろ調べてみたのですが、答えにたどり着かないため、ご教授いただけると幸いです。
よろしくお願いいたします。
(※)検索結果ページ右上に表示される「CSVダウンロード」の結果と比較した結果。
(利用サイト)
https://related-keywords.com/
(検索ワード)
携帯電話
(実現したいこと)
サイトに表示されたキーワードを全て配列「contents」に格納したい。
GAS
1function myFunction() { 2 3const URL = 'https://related-keywords.com/result/suggest?q=携帯電話'; 4 var key = '★phantomjscloudのAPIKey★'; 5 6 var option = 7 {url:URL, 8 renderType:"HTML", 9 outputAsJson:true}; 10 11 var payload = JSON.stringify(option); 12 payload = encodeURIComponent(payload); 13 var url = "https://phantomjscloud.com/api/browser/v2/"+ key +"/?request=" + payload; 14 15 var response1 = UrlFetchApp.fetch(url); 16 17 var json = JSON.parse(response1.getContentText()); 18 var source = json["content"]["data"]; 19//-------------------------- 20 21//Parserで取得 22var $ = Cheerio.load(source); 23var contents = [] 24 $(".vdu5kk-0.sc-1p6awuf-0.drqTAc a p").each((i,element) => { 25 contents.push($(element).text()) }); 26Logger.log(contents); 27 28}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/28 13:50
2021/05/28 14:20