zoukankan      html  css  js  c++  java
  • php判断爬虫

    function checkrobot($useragent = ''){

    static $kw_spiders = 'Bot|Crawl|Spider|slurp|sohu-search|lycos|robozilla';

    static $kw_browsers = 'MSIE|Netscape|Opera|Konqueror|Mozilla';

    $useragent = empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent;

    if(!strexists($useragent, 'http://') && preg_match("/($kw_browsers)/i", $useragent)) {

    return false;

    } elseif(preg_match("/($kw_spiders)/i", $useragent)) {

    return true;

    } else {

    return false;

    }

    }

    function strexists($haystack, $needle) {
    return !(strpos($haystack, $needle) === FALSE);
    }
    if(checkrobot()){
    echo '机器人爬虫';
    }else{
    echo '人';
    }
    ?>

    <?php
    function checkrobot($useragent=''){
    static $kw_spiders = array('bot', 'crawl', 'spider' ,'slurp', 'sohu-search', 'lycos', 'robozilla');
    static $kw_browsers = array('msie', 'netscape', 'opera', 'konqueror', 'mozilla');

    $useragent = strtolower(empty($useragent) ? $_SERVER['HTTP_USER_AGENT'] : $useragent);
    if(strpos($useragent, 'http://') === false && dstrpos($useragent, $kw_browsers)) return false;
    if(dstrpos($useragent, $kw_spiders)) return true;
    return false;
    }

    function dstrpos($string, $arr, $returnvalue = false) {
    if(empty($string)) return false;
    foreach((array)$arr as $v) {
    if(strpos($string, $v) !== false) {
    $return = $returnvalue ? $v : true;
    return $return;
    }
    }
    return false;
    }

    if(checkrobot()){
    echo '机器人爬虫';
    }else{
    echo '人';
    }
    ?>

  • 相关阅读:
    20180925-5 代码规范,结对要求
    20180925-6 四则运算试题生成
    20180925-7 规格说明书-吉林市2日游
    第二周例行报告
    第二周博客作业
    【杨老师粉丝群】第一周立会报告第四次
    20180925-1 每周例行报告
    规格说明书——吉林市两日游
    效能分析
    四则运算试题生成
  • 原文地址:https://www.cnblogs.com/liuwenbohhh/p/5056975.html
Copyright © 2011-2022 走看看