kwsktr's study log

kwsktr のおべんきょログ

PHP でウェブスクレイピングやったりしている

お仕事でウェブスクレイピングを最近やっているので備忘録的なメモと感想。


ウェブスクレイピング - Wikipedia


といっても、やってることは 正規表現マッチングとかHTMLパーサとか、DOM解析とかその程度。

やっていること

PHP Simple HTML DOM Parser を使って html を持ってくる。


ド定番のライブラリなので、これで十分だと思っていましたが…世の html の汚いことこの上なし。
綺麗な html じゃないとデータを取得できない場合が多々あります。


そのまま使えなかったりする場合は tidy を間にいれてあげたりします。


PHP: Tidy - Manual



情報を取れたら順次 CSV などに書き出して type で繋げて終了。

type *.csv > c:¥all.csv


たまに Excelも使ったり。
VBA とマクロの偉大さを感じることができます。


で、いま気になっているのがこちら。
PHPでスクレイピング - Qiita [キータ]


仕事の合間にちょっと触ってみようかな。


やってて思ったのは、あらゆるところに壁がある

不特定多数のサイトから欲しい情報をほんの少しだけ取りたいだけなのですが、それでもいろんなところ引っかかって前に進むのが困難だったりします。


お仕事なので犯罪スレスレのことをしているわけではないのですが、それでも「情報」というものを欲しているわけでセキュリティの壁というのが立ち塞がります。
そのセキュリティをどう避けていくか、避けられないならどうするか、みたいなことをやってます。


とにかく壁を避けて情報に到達したときには、めっちゃくちゃ気持ちいいんですね。
コードを書いて、それがうまく走って、情報を手に入れた達成感はなかなか気持ちがいい。


逆に言えば、知識が足りないところはどうやっても今のままでは通れないわけで、勉強不足を痛烈に感じるところです。


そこで最近読み始めたのが 『Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)』 です。


Web の当たり前の基礎知識が分かりやすく書かれています。
教科書的に読んでいくつもりで購入しました。基本を知らずにWebで検索しても躓くことが多いので、まずは最低限の知識をベースにといったところです。