14章スクレイピングの落とし穴を避ける
サイトをスクレイピングして出力を確認した際、ブラウザではきちんと見えるのに、データではそうでなかったときほど、苛立つことはそうありません。あるいは、まったく大丈夫なはずのフォームをサブミットしてWebサーバに拒絶される。あるいはまた、自分のIPアドレスが、理由はわからないがブロックされてしまうときなどです。
(あるサイトでうまく動いていたスクリプトが見たところは同じような別のサイトで全然動かないなど)まったく予期していなかったからだけでなく、意図的に何の手がかりも与えないエラーメッセージやスタックトレースなどという理由から、解決するのが極めて難しいバグがいくつかあります。ボットであると判断され、拒絶され、しかもどうしてなのかわからないのです。
本書では、Webサイトでの難しいこと(フォームサブミット、難しいデータの抽出とクリーニング、JavaScriptの実行など)を行う多数の方法について書いてきました。本章は、広範なテーマに関する技法(HTTPヘッダ、CSS、HTMLなど)を簡単にまとめて述べます。しかし、サイトの自動Webスクレイピングを防止するという目的のために置かれた妨害を乗り越えるという共通点があります。
この情報がどれだけ読者にいますぐ役立つかとは別に、本章にざっと目を通しておくことを強く勧めます。非常に難しいバグや問題防止のために、これらがいつ役立つかは予見できないからです。
14.1 倫理についての注意
本書の最初のほうで、Webスクレイピングの置かれた法的にグレーの領域と、スクレイピングに際しての倫理上のガイドラインについて述べました。正直なところ、本章は倫理的に、おそらく書くのが最も難しい章です。私のWebサイトは、ボット、スパマー、Webスクレイパー、その他あらゆる望ましくないサイバーゲストに、読者もおそらくそうでしょうが、悩まされてきました。それなのに、さらに優れたボットの作り方を教えるのでしょうか。 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access