サイトへのすべての訪問者 (Os、ブラウザなどの詳細) を追跡したいと考えています。そのために、ユーザー エージェントと URL、およびその他の重要なデータをデータベースに保存しています。後でクローンを実行すると、ユーザー エージェントが分析され、ブラウザ、Os が取得されます。 . しかし、クローラーを特定したい (訪問者と見なすことができないため)。ユーザー エージェントからクローラーを識別する方法はありますか。クローラーのユーザー エージェントは、共通のパターンに従いましたか?
3 に答える
これらは、 User-AgentまたはIP (サブネット)で識別できます。
最初の方法は信頼できません。ユーザー エージェントを変更しただけのクローラーとして誰でも特定できるからです。2 番目の方法の方が明らかに優れています。
これらは、Web 上の多くのリストのうちの 2 つです: http://www.user-agents.org/ (凡例を参照してください: R = ロボット、クローラー、スパイダー) - http://www.robotstxt.org/db.html
別のもの: http://www.karavadra.net/blog/2010/list-of-crawlers-bots-and-their-ip-addresses/
Web ロボット ページには、既知のクローラー/ロボットのリストが含まれています。これには、適切に動作する (データベースにリストされている) 既知のボットを識別するために使用できるユーザー エージェント パターンが含まれます。
しかし、DaveR が言ったように、ルールを無視する人を止めるのは難しく、すべてのクローラーが robotstxt.org データベースにあるわけではありません。
User-Agent
重要なことに文字列を使用することは信頼性が低く、悪い考えです。
悪意のあるクローラーは、一般的なブラウザーの UA 文字列を送信する可能性があります。適切な検索エンジンのクローラーは、認識可能な UA 文字列を常に送信しますが、これらのクローラーの 1 つになりすますように Web ブラウザーを構成することを止めるものは何もありません。
これを行う必要がある場合は、戻り値 ifget_browser()
の要素を参照してください。crawler