Excel VBAでクローリング&スクレイピング
五十嵐 貴之 (著)
ソシム社から出ているExcel VBA の本。打ち込みはまだしていませんが、読み終わりました。読んでみた感想ですが、この本は以前レビューで書いた「ExcelVBAでIEを思いのままに操作するプログラミング術」と比べると、「思いのまま…」がieを介して取得したhtmlをどうExcelVBAで加工していくかを掘り下げていくスタンスをとっているのに対して、
この本では、htmlに限らず色々な形式のデータを取得できるよ(XML,PDF,JSON,WORD)ということを強調しており、また取得したデータ加工の例として、6章目にスクレイピング(分析)として、インターネットから取得した内容を自動解析して自動要約を成果物として出力するようなことをやっています。
個人的には、最終章でクラス機能を使ったクローリングのサンプルプログラムを見せてくれているのがとても良かったです。
ExcelVBAの開発ツールのクラス機能まで踏み込んでプログラムを作っている本というのは、意外と見たことないような気がするので、そこに興味を持ちました(EXcelVBAのクラスってC#っぽい印象でした)。
★★★★☆…4点
[2019.06.10 以降]
★★★☆☆…3点 (減点の理由は追記分にて)
スクレイピング(分析)の例として6章で作った成果物としての要約文が、なんというかこれは一体どう使えばいいのかという感じなので4点です。
[2019.06.10 追記]
上のレビューを書いてから、6章はやらなかったですが打ち込みをしてみました。
5章のクラスを利用した自動メール送信のスクリプトですが、私の環境ではエラーになって動きませんでした(ダウンロードしたサンプルも動かなかった)。
デバッガーで追ってみると、プロパティのLet(セッター)からメンバに値をセットするべきところで、ゲッターにアクセスして何も値がセットされてないみたいでした。
少し手直しして、引数として渡した値が正しくセッター経由でメンバ変数にセットされるようにしたらこれはきちんと動きました。
7章のクローリングのプログラムですが、しばらくはサンプルも動いていますがどうも私の環境では止まってしまいました。で、こんなエラーが出る。(※1)
エラーをネットで調べると回避方法が紹介されているようですが…。
自分の環境はWin10とExcel2016で、そんなに古い環境という訳でもなさそうですが。動いたり動かなかったり個人個人の環境によってばらつきがあるんでしょうか。
(※1)
コメント