Skip to content
πŸ•· CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent
PHP
Branch: master
Clone or download

Latest commit

JayBizzle Merge pull request #371 from raumi75/master
Add Siege (http load tester)
Latest commit c47ab0b May 23, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
raw Add DynatraceSynthetic - closes #366 Apr 14, 2020
src Add Siege (http load tester) May 22, 2020
tests Add Siege (http load tester) May 22, 2020
.coveralls.yml Add coveralls.io Apr 25, 2016
.gitattributes Added .gitattributes Dec 21, 2016
.gitignore Create .gitignore Mar 23, 2015
.styleci.yml Update .styleci.yml Feb 8, 2017
.travis.yml Update .travis.yml Dec 10, 2019
CONTRIBUTING.md Update CONTRIBUTING.md Apr 27, 2016
LICENSE Update LICENSE Apr 5, 2018
README.md Update README.md Feb 14, 2020
composer.json test enhancement Apr 6, 2018
export.php Fix implode arguments order May 1, 2020
phpunit.xml Added simple test suite Mar 26, 2015

README.md



crawlerdetect.io

About CrawlerDetect

CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent and http_from header. Currently able to detect 1,000's of bots/spiders/crawlers.

Installation

composer require jaybizzle/crawler-detect

Usage

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();

Contributing

If you find a bot/spider/crawler user agent that CrawlerDetect fails to detect, please submit a pull request with the regex pattern added to the $data array in Fixtures/Crawlers.php and add the failing user agent to tests/crawlers.txt.

Failing that, just create an issue with the user agent you have found, and we'll take it from there :)

Laravel Package

If you would like to use this with Laravel 4/5, please see Laravel-Crawler-Detect

Symfony Bundle

To use this library with Symfony 2/3/4, check out the CrawlerDetectBundle.

YII2 Extension

To use this library with the YII2 framework, check out yii2-crawler-detect.

ES6 Library

To use this library with NodeJS or any ES6 application based, check out es6-crawler-detect.

Python Library

To use this library in a Python project, check out crawlerdetect.

.NET Library

To use this library in a .net standard (including .net core) based project, check out NetCrawlerDetect.

Ruby Gem

To use this library with Ruby on Rails or any Ruby-based application, check out crawler_detect gem.

Parts of this class are based on the brilliant MobileDetect

Analytics

You can’t perform that action at this time.