CrawlerDetect عبارة عن فئة PHP للكشف عن برامج الروبوت/برامج الزحف/العناكب عبر user agent
ورأس http_from
. قادر حاليًا على اكتشاف آلاف الروبوتات/العناكب/الزواحف.
composer require jaybizzle/crawler-detect
استخدم JaybizzleCrawlerDetectCrawlerDetect;$CrawlerDetect = new CrawlerDetect;// تحقق من وكيل المستخدم لـ 'visitor'if الحالي($CrawlerDetect->isCrawler()) {// صحيح إذا تم اكتشاف وكيل مستخدم الزاحف}// قم بتمرير وكيل مستخدم كسلسلة if ($CrawlerDetect->isCrawler('Mozilla/5.0 (متوافق؛ Sosospider/2.0; +http://help.soso.com/webspider.htm)')) {// صحيح إذا تم اكتشاف وكيل مستخدم الزاحف}// أخرج اسم الروبوت الذي يطابق (إن وجد)echo $CrawlerDetect- >getMatches();
إذا وجدت وكيل مستخدم bot/spider/crawler الذي فشل CrawlerDetect في اكتشافه، فيرجى إرسال طلب سحب مع إضافة نمط regex إلى مصفوفة $data
في Fixtures/Crawlers.php
وإضافة وكيل المستخدم الفاشل إلى tests/crawlers.txt
.
إذا فشل ذلك، ما عليك سوى إنشاء مشكلة مع وكيل المستخدم الذي عثرت عليه، وسنتولى حل المشكلة من هناك :)
إذا كنت ترغب في استخدام هذا مع Laravel، فيرجى الاطلاع على Laravel-Crawler-Detect
لاستخدام هذه المكتبة مع Symfony 2/3/4، راجع CrawlerDetectBundle.
لاستخدام هذه المكتبة مع إطار عمل YII2، راجع yii2-crawler-detect.
لاستخدام هذه المكتبة مع NodeJS أو أي تطبيق يستند إلى ES6، راجع es6-crawler-detect.
لاستخدام هذه المكتبة في مشروع بايثون، راجع موقع Crawlerdetect.
لاستخدام هذه المكتبة في مشروع JVM (بما في ذلك Java وScala وKotlin وما إلى ذلك)، راجع CrawlerDetect.
لاستخدام هذه المكتبة في مشروع يستند إلى معيار .net (بما في ذلك .net core)، راجع NetCrawlerDetect.
لاستخدام هذه المكتبة مع Ruby on Rails أو أي تطبيق يستند إلى Ruby، قم بمراجعة Crawler_detect Gem.
لاستخدام هذه المكتبة مع Go، قم بمراجعة وحدة Crawlerdetect.
تعتمد أجزاء من هذه الفئة على برنامج MobileDetect الرائع