最近,字節(jié)跳動(dòng)搜索引擎的爬蟲瘋狂爬取全網(wǎng)資源,導(dǎo)致一些小網(wǎng)站服務(wù)器不堪重負(fù),嚴(yán)重的直接使網(wǎng)站宕機(jī)。
我們有很多方法可屏蔽掉爬蟲,比如 robot.txt ,但是貌似字節(jié)跳動(dòng)旗下的今日頭條爬蟲比較流氓,他不遵守這個(gè)!還有一個(gè)通過屏蔽IP的方式,但是一般爬蟲的IP地址比較多,這個(gè)也挺麻煩。
這里站長(zhǎng)圖庫(kù)介紹一種方法,有一定的效果,如下:
nginx在站點(diǎn)的設(shè)置,配置文件中 server{ } 中添加
#禁止爬蟲工具的抓取 if ($http_user_agent ~* "Bytespider|YisouSpider") { return 403; }
注:Bytespider 為字節(jié)跳動(dòng)爬蟲的協(xié)議頭
Apache:
在偽靜態(tài)里設(shè)置 這里以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>
以上,就是根據(jù)訪問協(xié)議頭屏蔽字節(jié)跳動(dòng)爬蟲的方法,希望能對(duì)大家有所幫助!