GoogleFinanceで日本株の「財務諸表」の年間データをGASでスクレイピングするには?

実現したいこと

GoogleFinanceで日本株の情報をGASでスクレイピングをトライ中です。
(GoogleFinanceはスクレイピングを許可しているサイトと認識しています)
例えばトヨタ自動車(コード:7203)を表示すると当日のデータや財務諸表(損益計算書・貸借対照表・キャッシュフロー)が
閲覧できます。画面には「四半期」と「年間」ボタンがありますが、取得できない「年間」分を取得できるようにしたい。
「年間」分を取得できる方法をご教示・アドバイスを願えればと思います。
トヨタ自動車

発生している問題・分からないこと

現状:GASでCheerioライブラリを使用して、URLデータから「四半期」データは取得できる見込ですが、「年間」分が取得できません。
「年間」ボタンをクリックして画面を確認しながらでも「四半期」データしか取得できません。

動的サイトではGASでは取得できないと聞き、PhantomJsCloudライブラリを使用してみましたが、やはり「年間」データは取得できません。
(ただし、手動でHTML文をドキュメントにコピペすると「年間」データを見ることができます。自動では取得できない?)

実際には、「四半期」と「年間」を切り替える操作もGASではできていないので、これも次の問題ですが、
画面上では見えて、手動コピペでは年間データも見えるので、先にこれができてからかと思います。
GASもスクレイピングも初心者で、やっていることが完全には理解できていませんが、実現できるアドバイスをいただければと思います。

参考にさせていただいたサイト:
PhantomJsCloud
Cheerio
Gas スクレイピング

該当のソースコード

Google

1function get_GoogleFinance_Scraping() { 2 3 const url = 'https://www.google.com/finance/quote/7203:TYO?hl=ja';//目的のURL 4 5 //PhantomJsCloud用の独自関数で動的なWebページのHTMLデータを取得する 6 //const html = phantomJSCloudScraping(url);//PhantomJsCloudで読み込む 7 8 const html = UrlFetchApp.fetch(url).getContentText('UTF-8'); 9 //console.log('html.length=',html.length); 10 11 //Cheerioライブラリ利用 12 const $ = Cheerio.load(html); 13 14 //損益計算書・貸借対照表・キャッシュフローのデータ抽出 15 let $div = $('td.QXDnM');//データ 16 let values = []; 17 $div.each((index, element) => { 18 values.push($(element).text()) 19 }); 20 console.log('values.length=',values.length,'/values=',values);//データをログ出力 21 22}

試したこと・調べたこと

上記の詳細・結果

四半期データは取得できますが、年間データは取得できません。

補足

「四半期」のサイト画面とログ出力の例
「年間」のサイト画面とコピペの例
の図を添付します。イメージ説明イメージ説明

コメントを投稿

0 コメント