▼目的
Google Apps Scriptでスクレイピングを行うために下記URLサイトにアクセスしたい。
investing.com
▼コード
上記URLには使用できない文字、記号が入っていたためコードに記載しているようにencodeURIComponent関数を使用してエンコードを行った。
※当初はエンコードすら知らず、URLをそのまま使用しており、エラーが発生しておりました、、、
function test_scraper() { var url = "https://www.investing.com/stock-screener/" + encodeURIComponent("?sp=country::5|sector::a|industry::a|equityType::a|exchange::a%3Ceq_market_cap;1"); url.toString().trim(); var r = UrlFetchApp.fetch(url); var html = r.getContentText(); var $ = Cheerio.load(html); if ($('table#resultsTable tr:nth-child(1) > td.symbol.left.bold.elp > a').attr('href')) { test = $('table#resultsTable tr:nth-child(1) > td.symbol.left.bold.elp > a').attr('href'); }else{ test = "no data" } console.log(url) }
▼対応の流れ
上記コードを動かしたところ、下記の404エラーが発生してしまい。アクセスができませんでした。
Exception: https://www.investing.com のリクエストに失敗しました(エラー: 404)。サーバー応答の一部: <!DOCTYPE HTML> <html dir="ltr" xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" xmlns:schema="http://schema.org/" class="com" lang="en" ...(応答の全文を見るには muteHttpExceptions オプションを使用してください)(行 5、ファイル「コード」)
引き続き、解決策を調査していきますがアドバイスいただけると幸いです。
何卒よろしくお願いいたします。