GoogleSpreadSheetでWebスクレイピング
- ETFでの運用を視野に各ETFの比較を行いたい。bloombergに掲載されている情報をスクレイピングする。
完成形
- 「銘柄」をもとに「経費率」「運用開始日」「純資産総額」「配分利回り」「名称」「備考」をbloombergから取得する
項目の取得
IMPORTXML関数
Google SpreadSheetの、IMPORTXMLを使用する。
昔は1シートあたりの呼び出し回数が50 回までという制限があったが、新しいスプレッドシートでは制限が撤廃された。ただし、多用しすぎると読み込みがうまくいかなくなる。
【使い方】
対象のUALからXPathに指定されている項目を取得する
=IMPORTXML(URL, XPathクエリ)
Xpath(XML Path Language)は、マークアップ言語 XML に準拠した文書の特定の部分を指定する言語構文である。(wikipediaより)
つまるところこうゆうやつ
URLはすぐできるが、Xpathは毎回構造を解析していたらとても手間がかかりそう。。。
GoogleChoromeを使用するとコピーが可能
GoogleChoromeの「検証」機能(Ctrl+Shift+I、もしくはF12)を立ち上げる
必要な箇所を選択 → Copy → Copy XPath をクリックする
クリップボードに //*[@id="content"]/div/div/div[8]/div/div/div[6]/div[2]
というデータが入る。
ダブルクオート"
がGoogleSpreadSheetの引数とかぶる為、そこだけシングルクオート'
に変更する。
//*[@id='content']/div/div/div[8]/div/div/div[6]/div[2]
◆分配金利回り:直近配当利回り(税込)
=ImportXML("https://www.bloomberg.co.jp/quote/"&$C2&":US","//*[@id='content']/div/div/div[8]/div/div/div[15]/div[2]")
参考
SpreadSheetでスクレイピング。Importxml他、便利な関数9+1
アメ株の各種指標(GoogleFinance関数、セクター名、増配年数、ForwardPER、モーニングスターレート等々)の取得方法(Google スプレッドシート編)
Subscribe via RSS