WEBスクレイピングのクローラーを一括で拒否

|

最近の流行りなのかは知りませんが、アクセスログを閲覧すると意味不明なクローラーからのアクセスが頻繁にやってきています。

いわゆるWEBスクレイピングと言われるものらしいのですが、簡単にいえば、サイトを丸ごと、もしくは1部分のみをクローリングでコピペされるというものです。

サイト運営者は訪問者に読まれることを目的に公開しているわけですので、サイトを勝手にコピーされ、リライトされてネット上に無断で公開されるのは不快に感じております。

これが検索エンジン関連のクローラーならアクセスを運んできてくれるメリットがありますが、誰かもわからない個人がサーバーに大量にアクセスしてコンテンツを勝手にダウンロードし、サーバーの負荷をかけた上にネガティブSEOとして活用されるのは迷惑でしかありません。

そのため、アクセスログを確認して、それらしきアクセスは一括で拒否することにしました。

「urlib」や「python」などのユーザーエージェントならほぼ間違いないと思います。これらは一括で拒否するとよいでしょう。

ただ、ユーザーエージェントが偽装されているケースもあり、これを見抜くのは非常に面倒くさいです。「わたしはGoogleボットですよ」といいつつ訪問してくるわけですが、「よく見るとお前はpythonじゃん!」ということがあり、ユーザーエージェントで拒否しても効果がありません。

その場合、IPアドレスでチェックして、同じIPアドレスで多くのページにアクセスしている場合は怪しいです。IPアドレスで調べてみて、一般的なホスト出ない場合には拒否しておくことをおすすめします。

毎日のログをチェックせずとも、月単位でまとめてチェックしてIPアドレスが隔たっていたら拒否してしまうのがよいかもしれません。