VBAでスクレイピング
これまで Excel 2013 のvba でスクレイピングをしていたが、2019に変えたタイミングで、yahooファイナンスのウエブページの取得がうまくいかなくなった。
変数内の要素数などを各行で調べたところ、意外なことにウエブから文字列を取得する部分は問題ないが、文字列をHTMLdocument に書き込むところで滑っていることが分かった。
htmlDoc.write(htmlstr) 'htmlstr のワード数は 97000-99000ぐらい
Debug.print htmlDoc.all.length '直後 要素が29
sleep 1000
Debug.print htmlDoc.all.length ' sleep とか doevents をループした後
不思議なことだが、何もしないで次の行に移ると、HTMLdocument には
29の要素しかなく、ブレークポイントを入れる/ステップインで実行する/sleep
したり、length が 短い場合 適当な回数 doevents をループしたりすると
ようやく HTMLdocument にパースに成功したと思われる1100ぐらいの要素が確認できた。
C#などで HTMLdocument.write (string) メソッドを使う場合はしっかりしているのかもしれないが。vba の方はそうでもないんじゃなかろうか。しばらく前まで、 getElementByClassName メソッドも名前だけあって使えなったし
もちろん自分の書き方とか環境だけで発生している問題かも
任天堂の2017年3月期決算を推計してみた
ようやく数字を拾い集めて任天堂(7974)の推計が終わったのでメモ。
慣れてないのもあるんだろうが、簡単そうに見えて本当に時間がかかる。
売上高 516
営業利益 21.6
経常利益 80.1 (為替差益22.5)
当期利益 100
*単位10億円
この通りなら会社予想よりかなり上で有望だけど、さてどうなるか。
「ツィゴイネルワイゼン」のことを急に思い出した
帰りの電車の中でツィゴイネルワイゼンのことを
考えていた。なぜ急にそんなずいぶん前の映画のことを急に
想起したのかわからない。何か歴史のことを考えていて、連想で
鎌倉のことを考え、さらにツィゴイネルワイゼンに飛んだ??
とにかくすごい映画だったなと、いくつかのシーンを思い浮かべ、
鈴木清順は経済面では必ずしも恵まれていたとは言えないかもしれないが、
映画監督としてかなりの年になるまで溢れるような才能の持ち主だった、
などと考えていた。
帰宅してネットで鈴木清順の訃報を知った。自分は関係者でもなんでもないし
別に第六感的なものがある方でもない。ただ考えてみると、ツィゴイネルワイゼン
自体、そうした夢と現の間、正気と狂気のあわい、生(性)と死の境界を行き来するような、不思議な感覚を扱っていた映画だったと思い出した。