実現したいこと
PhantomJsCloud経由でスクレイピングをしようとしているが,エラーが発生してしまいサイトの内容を取得できないです.
解決策をご教示いただけないでしょうか?
前提
以下のサイト内の天気,気圧,痛予報の内容を取得して記録するコードを書いています.
動的サイトのため,GASだけではスクレイピングできないため,PhantomJsCloud経由で内容を取得しようとしています.
他のサイト等を参考にしながら以下のコードを書いたが内容を取得できないでおります.
発生している問題・エラーメッセージ
"name":"HttpStatusCodeException","message":"Error extracting userRequest. innerException: JSON5: invalid end of input at 1:1","stack":["no stack or extra properties unless envLevel=DEV|TEST,…
該当のソースコード
1function main_dataStorage() { 2 3 //URL指定 4 var tgtSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('2:取得データ'); 5 6 const url = tgtSheet.getRange("A2").getValue() 7 //getResource関数を呼び出し 8 var APIKEY = tgtSheet.getRange("G2").getValue() 9 var response = getResource(url, APIKEY); 10 11} 12 13 14 15function getResource(target_url, APIKEY) { 16 //HTTPSレスポンスに設定するペイロードのオプション項目を設定する 17 var _options = { 18 method : 'post', 19 url: target_url, 20 renderType: "html", 21 outputAsJson: true, 22 muteHttpExceptions :true, 23 }; 24 25 //オプション項目をJSONにしてペイロードとして定義し、エンコードする 26 var _payload = encodeURIComponent(JSON.stringify(_options)); 27 //PhantomJsCloudのAPIリクエストを行うためのURLを設定 28 var _request = 29 "https://phantomjscloud.com/api/browser/v2/" + 30 APIKEY + 31 "/?request=" + 32 _payload; 33 //設定したAPIリクエスト用URLにフェッチして、情報を取得,エラー発生時は内容を表示 34 35 var _response = UrlFetchApp.fetch(_request, _options).getContentText(); 36 Logger.log(_response) 37 return _response; 38 39} 40

バッドをするには、ログインかつ
こちらの条件を満たす必要があります。