最近,字节跳动搜索引擎的爬虫疯狂爬取全网资源,导致一些小网站服务器不堪重负,严重的直接使网站宕机。

我们有很多方法可屏蔽掉爬虫,比如 robot.txt ,但是貌似字节跳动旗下的今日头条爬虫比较流氓,他不遵守这个!还有一个通过屏蔽IP的方式,但是一般爬虫的IP地址比较多,这个也挺麻烦。

这里站长图库介绍一种方法,有一定的效果,如下:

nginx在站点的设置,配置文件中 server{ } 中添加

#禁止爬虫工具的抓取
if ($http_user_agent ~* "Bytespider|YisouSpider") {
return 403;
}

注:Bytespider 为字节跳动爬虫的协议头

Apache:

在伪静态里设置 这里以thinkphp为例!

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [L,E=PATH_INFO:$1]
 #禁止爬虫工具的抓取
RewriteCond %{HTTP_USER_AGENT} "^.*Bytespider.*|.*YisouSpider.*$" [NC]
RewriteRule ^(.*)$ - [R=404,L]
</IfModule>

以上,就是根据访问协议头屏蔽字节跳动爬虫的方法,希望能对大家有所帮助!