17章スクレイピングの落とし穴の回避
サイトをスクレイピングして出力を確認した際に、ブラウザでは見えるデータが含まれていないときほど、苛立たしいことはありません。また、何の問題もないはずのフォームを送信したのに、Webサーバーから拒否される場合や、理由もわからないままIPアドレスがブロックされてしまうこともあります。
これらは修正が難しいバグの一例です。あるサイトでは問題なく動作していたスクリプトが、ほぼ同じ構成の別サイトでまったく動かなくなるなど、想定外の事態が起こり得る上、意図的にエラーメッセージやスタックトレースが出ないように設定されている場合があるからです。ボットであると判断され、拒絶されてしまい、理由はまったくわからないままということもあります。
本書ではこれまで、フォームの送信や複雑なデータの抽出とクリーニング、JavaScriptの実行など、Webサイトで高度な処理を行うための多くの方法を紹介してきました。本章では、さまざまな分野にまたがるテクニックをまとめて取り上げます。これらのテクニックに共通しているのは、サイトの自動スクレイピングを阻止するために用意されている仕組みを乗り越えるためのものであるという点です。
現時点でこれらの情報がどれほど役に立つかは別にしても、この章にはざっと目を通すことを強くお勧めします。いつ、どのような場面で、厄介なバグを解消したり問題を未然に防ぐのに役立つかわからないからです。
17.1 倫理についての注意
本書の冒頭で、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