CrawlerDetect は、 user agent
とhttp_from
ヘッダーを介してボット/クローラー/スパイダーを検出するための PHP クラスです。現在、数千のボット/スパイダー/クローラーを検出できます。
composer require jaybizzle/crawler-detect
use JaybizzleCrawlerDetectCrawlerDetect;$CrawlerDetect = new CrawlerDetect;// 現在の「訪問者」のユーザー エージェントを確認しますif($CrawlerDetect->isCrawler()) {// クローラー ユーザー エージェントが検出された場合は true}// ユーザー エージェントを文字列として渡しますif ($CrawlerDetect->isCrawler('Mozilla/5.0 (互換性; Sosospider/2.0; +http://help.soso.com/webspider.htm)')) {// クローラー ユーザー エージェントが検出された場合は true}// (存在する場合)echo に一致したボットの名前を出力 $CrawlerDetect->getMatches() ;
CrawlerDetect が検出できないボット/スパイダー/クローラー ユーザー エージェントを見つけた場合は、 Fixtures/Crawlers.php
の$data
配列に正規表現パターンを追加してプル リクエストを送信し、失敗したユーザー エージェントをtests/crawlers.txt
に追加してください。 。
それができない場合は、見つけたユーザー エージェントで問題を作成するだけで、そこから解決します :)
Laravel でこれを使用したい場合は、Laravel-Crawler-Detect を参照してください。
このライブラリを Symfony 2/3/4 で使用するには、CrawlerDetectBundle をチェックしてください。
このライブラリを YII2 フレームワークで使用するには、yii2-crawler-detect をチェックしてください。
このライブラリを NodeJS または ES6 アプリケーション ベースで使用するには、es6-crawler-detect をチェックしてください。
このライブラリを Python プロジェクトで使用するには、crawlerdetect をチェックしてください。
このライブラリを JVM プロジェクト (Java、Scala、Kotlin などを含む) で使用するには、CrawlerDetect を確認してください。
このライブラリを .net 標準 (.net core を含む) ベースのプロジェクトで使用するには、NetCrawlerDetect を確認してください。
このライブラリを Ruby on Rails または Ruby ベースのアプリケーションで使用するには、crawler_detect gem をチェックしてください。
このライブラリを Go で使用するには、crawlerdetect モジュールをチェックアウトしてください。
このクラスの一部は、優れた MobileDetect に基づいています。