• Stars
    star
    1,990
  • Rank 23,278 (Top 0.5 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 9 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

🕷 CrawlerDetect is a PHP class for detecting bots/crawlers/spiders via the user agent



crawlerdetect.io

GitHub Workflow Status

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, 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.

JVM Library (written in Java)

To use this library in a JVM project (including Java, Scala, Kotlin, etc.), 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.

Go Module

To use this library with Go, check out the crawlerdetect module.

Parts of this class are based on the brilliant MobileDetect

Analytics

More Repositories

1

Laravel-Crawler-Detect

A Laravel wrapper for CrawlerDetect - the web crawler detection library
PHP
310
star
2

Laravel-Migrations-Organiser

A Laravel package to help organise migrations
PHP
109
star
3

hasmeta

Laravel trait to access model meta data as if it was a property on your model
PHP
28
star
4

mysqldumper

Create MySQL dumps and upload to Dropbox, remote FTP server or Amazon S3.
PHP
24
star
5

ionic-vue-tailwind-gmail-ui-clone

Vue
22
star
6

DeployBot-API

A simple PHP wrapper for the DeployBot API
PHP
19
star
7

Safeurl

A Laravel package to create safe, SEO friendly urls
PHP
17
star
8

PHP-Seasons

A small utility class that returns the meteorological season from a given date
PHP
6
star
9

doc-to-text

Extract text from a Word Doc
PHP
5
star
10

Shortcodes

BBCode/Wordpress style shortcodes
PHP
4
star
11

Rankinity-API

A simple PHP wrapper for the Rankinity API
PHP
3
star
12

awesomephp.io

A website based on the Awesome PHP list
PHP
2
star
13

Referral-Spam-Detect

PHP
2
star
14

collection-macros

A repository of useful collection macros
PHP
2
star
15

Internet-Connection-Monitor

A small Electron application to monitor your internet connection
JavaScript
1
star
16

itunes-connect-ingest

A PHP library to ingest iTunes Connect Sales Data
PHP
1
star
17

jSticky

jQuery plugin to allow elements to stick to top of browser when user scrolls
1
star
18

colour-term

Small script that will generate a new terminal background color based on the server hostname your connecting to
Shell
1
star
19

rapid-migrations

Awk
1
star
20

ionic-vue-item-list

CSS
1
star
21

statagist

A simple CLI tool to quickly see package stats from Packagist.
PHP
1
star