【Symfony2】クローラーの判別
Symfony2で使えるクローラーを判別するプログラムを書いてきました。
すべてのものを判別するのは不可能に近いゆえ、メインのものしか書いてありません。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | <?php namespace HogeBundle\API; use Symfony\Component\DependencyInjection\ContainerInterface; class UserAgentAPI { private $container; public function __construct(ContainerInterface $container) { $this->container = $container; } public function isCrawler() { $ua = $this->container->get ( "request" )->headers->get ( 'User-Agent' ); // $_SERVER['HTTP_USER_AGENT'] $crawler_arr = array ( "Googlebot", // google "Baiduspider", // Baidu "bingbot", // Bing "Yeti", // NHN "NaverBot", // NaverBot "Yahoo", // Yahoo "Tumblr", // Tumblr "livedoor" // livedoor ) ; foreach ( $crawler_arr as $value ) { if (stripos ( $ua, $value ) !== false) { return true; } } return false; } } |
Author Profile
スターフィールド編集部
SHARE