Maison  >  Article  >  développement back-end  >  php判断来访者是否是搜索引擎的爬虫

php判断来访者是否是搜索引擎的爬虫

WBOY
WBOYoriginal
2016-07-25 08:44:241049parcourir

我们可以通过HTTP_USER_AGENT来判断是否是蜘蛛,搜索引擎的蜘蛛都有自己的独特标志,下面列取了一部分。

  1. function is_crawler() {
  2. $userAgent = strtolower($_SERVER['HTTP_USER_AGENT']);
  3. $spiders = array(
  4. 'Googlebot', // Google 爬虫
  5. 'Baiduspider', // 百度爬虫
  6. 'Yahoo! Slurp', // 雅虎爬虫
  7. 'YodaoBot', // 有道爬虫
  8. 'msnbot' // Bing爬虫
  9. // 更多爬虫关键字
  10. );
  11. foreach ($spiders as $spider) {
  12. $spider = strtolower($spider);
  13. if (strpos($userAgent, $spider) !== false) {
  14. return true;
  15. }
  16. }
  17. return false;
  18. }
复制代码

下面的php代码附带了更多的蜘蛛标识
  1. function isCrawler() {
  2. echo $agent= strtolower($_SERVER['HTTP_USER_AGENT']);
  3. if (!empty($agent)) {
  4. $spiderSite= array(
  5. "TencentTraveler",
  6. "Baiduspider+",
  7. "BaiduGame",
  8. "Googlebot",
  9. "msnbot",
  10. "Sosospider+",
  11. "Sogou web spider",
  12. "ia_archiver",
  13. "Yahoo! Slurp",
  14. "YoudaoBot",
  15. "Yahoo Slurp",
  16. "MSNBot",
  17. "Java (Often spam bot)",
  18. "BaiDuSpider",
  19. "Voila",
  20. "Yandex bot",
  21. "BSpider",
  22. "twiceler",
  23. "Sogou Spider",
  24. "Speedy Spider",
  25. "Google AdSense",
  26. "Heritrix",
  27. "Python-urllib",
  28. "Alexa (IA Archiver)",
  29. "Ask",
  30. "Exabot",
  31. "Custo",
  32. "OutfoxBot/YodaoBot",
  33. "yacy",
  34. "SurveyBot",
  35. "legs",
  36. "lwp-trivial",
  37. "Nutch",
  38. "StackRambler",
  39. "The web archive (IA Archiver)",
  40. "Perl tool",
  41. "MJ12bot",
  42. "Netcraft",
  43. "MSIECrawler",
  44. "WGet tools",
  45. "larbin",
  46. "Fish search",
  47. );
  48. foreach($spiderSite as $val) {
  49. $str = strtolower($val);
  50. if (strpos($agent, $str) !== false) {
  51. return true;
  52. }
  53. }
  54. } else {
  55. return false;
  56. }
  57. }
  58. if (isCrawler()){
  59. echo "你好蜘蛛精!";
  60. }
  61. else{
  62. echo "你不是蜘蛛精啊!";
  63. }
复制代码

php


Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn