CrawlerDetect es una clase PHP para detectar bots/rastreadores/arañas a través del user agent
y el encabezado http_from
. Actualmente es capaz de detectar miles de robots/arañas/rastreadores.
composer require jaybizzle/crawler-detect
use JaybizzleCrawlerDetectCrawlerDetect;$CrawlerDetect = new CrawlerDetect;// Verifique el agente de usuario del 'visitante' actual if($CrawlerDetect->isCrawler()) {// verdadero si se detecta el agente de usuario del rastreador}// Pase un agente de usuario como una cadena ($CrawlerDetect->isCrawler('Mozilla/5.0 (compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)')) {// verdadero si se detecta un agente de usuario del rastreador}// Muestra el nombre del bot que coincidió (si corresponde)echo $CrawlerDetect->getMatches() ;
Si encuentra un agente de usuario bot/spider/crawler que CrawlerDetect no puede detectar, envíe una solicitud de extracción con el patrón de expresiones regulares agregado a la matriz $data
en Fixtures/Crawlers.php
y agregue el agente de usuario defectuoso a tests/crawlers.txt
.
De lo contrario, simplemente cree un problema con el agente de usuario que encontró y lo solucionaremos desde allí :)
Si desea utilizar esto con Laravel, consulte Laravel-Crawler-Detect
Para usar esta biblioteca con Symfony 2/3/4, consulte CrawlerDetectBundle.
Para usar esta biblioteca con el marco YII2, consulte yii2-crawler-detect.
Para utilizar esta biblioteca con NodeJS o cualquier aplicación basada en ES6, consulte es6-crawler-detect.
Para utilizar esta biblioteca en un proyecto de Python, consulte crawlerdetect.
Para utilizar esta biblioteca en un proyecto JVM (incluido Java, Scala, Kotlin, etc.), consulte CrawlerDetect.
Para utilizar esta biblioteca en un proyecto basado en el estándar .net (incluido .net core), consulte NetCrawlerDetect.
Para usar esta biblioteca con Ruby on Rails o cualquier aplicación basada en Ruby, consulte la gema crawler_detect.
Para utilizar esta biblioteca con Go, consulte el módulo rastreador de detección.
Partes de esta clase se basan en el brillante MobileDetect