最近,字節跳動搜索引擎的爬蟲瘋狂爬取全網資源,導致一些小網站服務器不堪重負,嚴重的直接使網站宕機。
我們有很多方法可屏蔽掉爬蟲,比如 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>
以上,就是根據訪問協議頭屏蔽字節跳動爬蟲的方法,希望能對大家有所幫助!