近日,今日头条搜索上线了站长平台,同时也给出了头条搜索引擎蜘蛛的UA以及IP段。我们可以凭借头条搜索给出的蜘蛛信息,来判断网站的访客是否为头条搜索的蜘蛛,以及它的访问统计数据。

QQ截图20191127205714.jpg

今日头条搜索spider介绍

头条搜索蜘蛛的UA:

Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36(KHTML,like Gecko)Chrome/41.0.6633.1032 Mobile Safari/537.36;Bytespider;https://zhanzhang.toutiao.com

头条搜索蜘蛛的IP段

110.249.201.0/24  (110.249.201.1 - 110.249.201.254)

110.249.202.0/24

111.225.148.0/24

111.225.149.0/24

220.243.135.0/24

220.243.136.0/24

PHP 判断是否为头条搜索的蜘蛛

1、利用 UA 信息进行判断

php代码:

<?php
$ua = addslashes(strtolower($_SERVER['HTTP_USER_AGENT']));
if (strpos($ua, 'bytespider') !== false) {
    echo '是头条搜索引擎的蜘蛛';
}else{
    echo '不是头条搜索引擎的蜘蛛';
}
?>

说明:

(1)、头条搜索蜘蛛的 UA 中,会带有 'Bytespider' 字段

(2)、$_SERVER['HTTP_USER_AGENT'] 获取访问者浏览器的UA

(3)、strtolower(),将字符串中的所有字符转为小写

2、利用IP来判断是否为头条的搜索引擎蜘蛛

php代码:

<?php
$arr = array('110.249.201','110.249.202','111.225.148','111.225.149','220.243.135','220.243.136');
//获取访客的IP地址,并转成数组
$iparr = explode('.',$_SERVER['REMOTE_ADDR']);
//取前三个元素组合IP段,如 110.249.201
$spiderid = $iparr[0].'.'.$iparr[1].'.'.$iparr[2];
if(in_array($spiderid,$arr)){
    echo '头条蜘蛛的IP';
}else{
    echo '不是头条蜘蛛的IP';
}
?>

说明:

1、explode(),将一段字段串,以某个字符间隔,转化成数组

2、in_array(),判断数组内是否包含指定的值

3、$_SERVER['REMOTE_ADDR'],获取访客的IP

4、如果你网站使用了 CDN 加速技术,可参考 https://www.feiniaomy.com/post/377.html

PS:以上只是简单的两种判断头条搜索引擎蜘蛛的方法,如果你有啥好的判断逻辑或优化好的代码,可以在下方评论中提出哦!

扩展阅读:

头条搜索网址:https://m.toutiao.com/search

头条站长平台:https://om.toutiao.com