頭條搜索還沒有推出但派出的ByteSpider爬蟲令小網站痛苦不堪
此前有消息指出字節跳動旗下的今日頭條正在開發搜索引擎,目前頭條搜索網頁手機版已經可以訪問和進行搜索。雖然字節跳動官方尚未宣布今日頭條通用搜索正式上線推出,不過頭條搜索派出的爬蟲已經讓很多網站痛苦不堪。因為頭條搜索使用的爬蟲毫無節制的抓爬網站耗費網站的服務器和帶寬資源,部分配置較低的網站已經直接癱瘓。
抓爬堪比小型DDoS攻擊:
藍點網在幫朋友網站處理訪問異常時便以為是遭遇攻擊, 但排查日誌發現名為 ByteSpider 的爬蟲才是罪魁禍首。這個爬蟲程序便是字節跳動旗下今日頭條搜索的,其抓爬頻率每秒幾十次甚至高達數百次嚴重影響網站正常訪問。正常情況下搜索引擎爬蟲會根據網站實際訪問性能來進行抓取,即動態調整抓爬頻率不會導致網站出現異常情況。顯然頭條搜索不知道是了快速抓取全網內容還是存在技術問題,爬蟲程序直接毫無節制的瘋狂抓爬無視網站性能。
網站日誌中出現的ByteSpider
毫無疑問就是流氓爬蟲:
正常的爬蟲會在用戶字符串信息裡留下爬蟲說明網址,網站管理員可根據其說明調整抓爬頻率或進行屏蔽操作等。而頭條搜索的爬蟲偽裝成多種手機的字符串並且沒有任何說明,其抓爬力度堪比多年前的YisouSpider流氓爬蟲。注:YisouSpider不是宜搜搜索的爬蟲,這個爬蟲在2015年前後因高頻抓爬和不遵守robots.txt協議而人人喊打。
#頭條爬蟲使用多種UA,包括三星 /谷歌/ 蘋果手機等(共有26個版本/UA) DYNAMIC|CHARGE|NOTLAST “Mozilla/5.0 ( iPhone ; CPU iPhone OS 11_0 like Mac OS X) AppleWebKit/537.36 (KHTML , like Gecko) Chrome/52.0.5047.1291 Mobile Safari/537.36; Bytespider” DYNAMIC|CHARGE|NOTLAST “Mozilla/5.0 (Linux; Android 5.0; SM-G900P Build/LRX21T) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0 .6154.1336 Mobile Safari/537.36; Bytespider” DYNAMIC|CHARGE|NOTLAST “Mozilla/5.0 (Linux; Android 8.0; Pixel 2 Build/OPD3.170816.012) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.6445.1813 Mobile Safari/537.36 ; Bytespider” DYNAMIC|CHARGE|NOTLAST “Mozilla/5.0 (Linux; Android 6.0; Nexus 5 Build/MRA58N) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.5916.1183 Mobile Safari/537.36;Bytespider”
圖片來源:知乎
國內外網站都被頭條爬蟲侵擾:
頭條爬蟲的無節制瘋狂抓爬導致網站服務器帶寬和硬件資源大量浪費,而正常用戶的訪問變得緩慢甚至無法訪問。對於絕大多數小型網站和那些只是用來展示信息的企業網站來說,遇到頭條爬蟲只能增加成本提高帶寬維持訪問。不過如果能夠成功通過日誌排查到是頭條蜘蛛惹的禍,那麼還可以使用多種策略將頭條蜘蛛徹底屏蔽阻止其訪問。例如知名操作系統Debian在其討論組網站就使用robots.txt規則屏蔽頭條爬蟲,不過也有用戶反饋屏蔽沒有作用。因為頭條爬蟲可能不遵守robots.txt規則無視封禁指令 ,頭條網站目前同時向國內外大量網站開啟瘋狂抓爬模式。在國內外技術討論社區都出現各種抱怨的帖子 ,好在已經有網友統計出頭條爬蟲的IP端可以直接屏蔽IP端的訪問。
圖片來源:V2EX
怎麼屏蔽頭條搜索的流氓爬蟲:
鑑於國外開發者已經反饋頭條爬蟲不遵守robots.txt 協議, 因此我們在屏蔽該爬蟲時不能只添加robots.txt封禁。最佳做法包括在服務器上直接識別頭條爬蟲名稱然後進行封禁,同時也可以在服務器上封禁頭條爬蟲的服務器等。有條件的網站建議同時部署所有封禁策略防止部分策略不起作用或有漏網之魚等等,具體幾種封禁策略如下所述:
# 在robots.txt協議中封禁頭條爬蟲(不一定有用) User-agent: BytespiderDisallow: / # 在服務器上或者CDN節點上屏蔽頭條爬蟲IP段:(推薦) 110.249.202.0/24 110.249.201.0/24 111.225 .149.0/24 111.225.148.0/24 # Nginx服務器可參考此地址封禁頭條爬蟲UA:(推薦) https://www.cnblogs.com/itsharehome/p/11114588.html # 使用寶塔面板的用戶亦可直接在寶塔面板的UA黑名單中屏蔽以下關鍵詞Bytespider
圖片來源:V2EX