jaybizzle/crawler-detect

CrawlerDetect是一个用于通过用户代理检测爬虫/爬虫/蜘蛛的PHP类

v1.2.120 2024-09-15 14:31 UTC

README



crawlerdetect.io

GitHub Workflow Status

关于CrawlerDetect

CrawlerDetect是一个PHP类,通过user agenthttp_from头部检测爬虫/爬虫/蜘蛛。目前能够检测到成千上万的爬虫/蜘蛛/爬虫。

安装

composer require jaybizzle/crawler-detect

用法

use Jaybizzle\CrawlerDetect\CrawlerDetect;

$CrawlerDetect = new CrawlerDetect;

// Check the user agent of the current 'visitor'
if($CrawlerDetect->isCrawler()) {
    // true if crawler user agent detected
}

// Pass a user agent as a string
if($CrawlerDetect->isCrawler('Mozilla/5.0 (compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)')) {
    // true if crawler user agent detected
}

// Output the name of the bot that matched (if any)
echo $CrawlerDetect->getMatches();

贡献

如果你发现CrawlerDetect无法检测到的爬虫/爬虫/蜘蛛用户代理,请提交一个pull request,将正则表达式模式添加到Fixtures/Crawlers.php中的$data数组,并将失败的用户代理添加到tests/crawlers.txt中。

如果不行,只需创建一个包含你找到的用户代理的问题,我们将会处理它:)

Laravel包

如果你希望与Laravel一起使用,请参阅Laravel-Crawler-Detect

Symfony捆绑包

要使用此库与Symfony 2/3/4,请查看CrawlerDetectBundle

YII2扩展

要使用此库与YII2框架一起,请查看yii2-crawler-detect

ES6库

要使用此库与NodeJS或任何基于ES6的应用程序一起,请查看es6-crawler-detect

Python库

要在此Python项目中使用此库,请查看crawlerdetect

JVM库(用Java编写)

要在此JVM项目中使用此库(包括Java、Scala、Kotlin等),请查看CrawlerDetect

.NET库

要在此基于.NET标准(包括.NET core)的项目中使用此库,请查看NetCrawlerDetect

Ruby Gem

要使用此库与Ruby on Rails或任何基于Ruby的应用程序一起,请查看crawler_detect gem。

Go模块

要使用此库与Go一起,请查看crawlerdetect模块。

此类的一些部分基于MobileDetect的杰出工作

Analytics