首页 >后端开发 >php教程 >php判断来访者是否是搜索引擎的爬虫

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

WBOY
WBOY原创
2016-07-25 08:44:241097浏览

我们可以通过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


声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn