GASでスクレイピングを行う方法
GASでスクレイピングする場合、Parserというライブラリを使えば簡単にできます。
今回はYahooファイナンスページからドル円の価格をスクレイピングする例を紹介したいと思います。
Parserライブラリのインストール
まず最初にParserライブラリをインストールします。スクリプトエディタの左サイドにある「ライブラリ」の「+」をクリックします。
以下のような画面が現れるので、スクリプトIDに「1Mc8BthYthXx6CoIz90-JiSzSafVnT6U3t0z_W3hLTAX5ek4w0G_EIrNw」を入力し「検索」ボタンをクリックします。以下のような情報が現れたら「追加」をクリックして閉じます。
ライブラリの下に「Parser」と現れたらインストール成功です。
Webページのソースコードから取得場所確認
次にWebページ内のどこからデータを取得するか確認します。ページ上のどこでもいいのでマウスの右クリックして「ページのソースを表示」を選択します。※これはChromeブラウザの場合です。他のブラウザでも右クリックメニューに似たような表示名であると思います。
ソースコードの中から取得した場所を探します。Yahooファイナンスのドル円は以下のようになっており、赤枠部分に挟まれたところを取得します。赤枠部分をどこかにメモしておきましょう。
ソースコード
スクレイピングするソースコードはこちらです。fromeメソッドとtoメソッドに先程の赤枠部分を入力することで、その間のドル円価格を取得できるわけです。
//スクレイピングしたいWebページのURL let url = "https://finance.yahoo.co.jp/quote/USDJPY=X"; //HTMLソース取得 let html = UrlFetchApp.fetch(url).getContentText("EUC-JP"); //Parserライブラリで為替値抽出 let val = Parser.data(html) .from("<dd class=\"_2HaH4i8e\"><span class=\"cTQeZkyL\"><span class=\"_3BGK5SVf\">") .to("</span>") .iterate(); console.log(val);
実行結果がこちら。ちゃんと取得できましたね。
スポンサーリンク