如何屏蔽ByteSpider今日头条(字节跳动)爬虫

字节跳动开始了搜索业务,于是派出了名叫ByteSpider的爬虫在全网开始爬取各种网站。

UserAgent其一是:

Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2404.1317 Mobile Safari/537.36; Bytespider 

第一次看到此爬虫爬取的太过分的时候,修改nginx配置,凡是遇到ByteSpider爬虫的时候,nginx返回403。配置如下

if ($http_user_agent ~* (Bytespider|webmeup)) {
    return 403;
}

过了两天,有朋友说网站很卡,看了一下nginx访问日志,发现又有爬虫来爬网站,频率非常快。

这次来的爬虫的UserAgent没有ByteSpider字样,以往常经验来看,有很大可能是字节跳动的爬虫。此爬虫的特点是,请求特别频繁;每次请求都换IP地址;IP地址在几个固定的网段;如果是普通的小爬虫,不会有这么专业的操作

升级了服务器硬件配置后,发现服务器还是卡,于是只能放大招,屏蔽爬虫的IP网段。统计一下访问日志的IP地址段,修改网络防火墙规则。笔者使用的阿里云ECS,在控制面板里面设置如下拒绝规则:

。升级了服务器硬件配置后,发现服务器还是卡,于是只能放大招,屏蔽爬虫的IP网段。统计一下访问日志的IP地址段,修改网络防火墙规则。笔者使用的阿里云ECS,在控制面板里面设置如下拒绝规则:

220.243.0.0/16
111.225.0.0/16 
66.249.0.0/16
110.249.0.0/16

设置好了之后,一切归于平静。能安心工作了。

接下来的一天,笔者临时解除一下防火墙拒绝规则,没有发现类似今日头条爬虫来访问