知乎故意使用亂碼幹擾必應/Google等爬蟲看起來確實是阻止內容被抓取訓練AI
有用戶回饋表示使用微軟必應搜尋和Google搜尋發現存在不少知乎亂碼內容,即搜尋結果裡知乎內容的標題和正文內容都可能是亂碼的,但抓取的正文前面一些段落內容可以正常查看。考慮到先前知乎已經屏蔽除百度和搜狗以外的所有搜尋引擎爬蟲(蜘蛛/ 機器人),藍點網猜測知乎應該是想透過亂碼來幹擾搜尋引擎和其他爬蟲,避免這些搜尋引擎和爬蟲抓取知乎內容拿去訓練人工智慧模型。
這種猜測現在基本上已經坐實,因為有網友發現只要用戶代理字串(UserAgent) 中包含爬蟲類關鍵字例如spider 和bot,那麼知乎就會返回亂碼內容,如果不包含這些關鍵字則回傳正常內容。
藍點網也進行了測試復現了這種情況,例如[藍點網– 沒有蜘蛛] 這個代理字串可以顯示正常內容,而[藍點網– 沒有蜘蛛– spider] 就會顯示亂碼內容。
值得注意的是藍點網也測試了百度搜尋的爬蟲也就是Baiduspider 也回傳亂碼內容,那這豈不是影響百度抓取嗎?這個也可以透過技術手段解決,即伺服器為百度爬蟲提供了專門的索引通道類似白名單,可以隨意抓取任何不受限的內容。這種方式也可以用來對抗某些惡意抓取者冒充百度爬蟲來抓取內容,因此從網站角度來說也是個不錯的防禦方式。
測試中還有個有趣的情況是OpenAI 的GPT 爬蟲也就是GPTBot 有時不會亂碼有時會亂碼,不過大多數情況下也都是亂碼的,因為UA 匹配到了關鍵字bot 所以返回亂碼內容,這不太可能是知乎也允許OpenAI 抓取內容。
從最開始知乎屏蔽其他搜尋引擎只允許百度和搜狗到必應搜尋結果裡出現亂碼內容以及現在的關鍵字匹配,這些情況基本說明了知乎確實不希望自己的內容被抓取,對知乎來說現有的內容是個巨大的金礦,如果人工智慧公司不花錢來買的話那肯定不能提供這些數據,所以接下來可能某個時候就會傳出某某公司與知乎達成協議可以獲取內容用於AI 模型訓練。
測試1:正常瀏覽器UA可以回傳正確內容
測試2:測試test-bing-bot 命中關鍵字bot 回傳亂碼內容
測試3:測試test-google-spider 命中關鍵字spider 回傳亂碼
測試4:測試藍點網-沒有蜘蛛未命中關鍵字回正常內容
測試5:測試藍點網-沒有蜘蛛-有個錘子的-spider 因為命中關鍵字回傳亂碼
測試6:測試藍點網-沒有蜘蛛-有個錘子的-bot因為命中關鍵字回傳亂碼
測試7:GPTBot命中關鍵字但意外沒有亂碼,這種情況出現的機率極低,大部分還是亂碼
測試8:baiduspider因為命中關鍵字也亂碼
測試9:這是百度爬蟲渲染的完整UA
測試10:GPTBot大多時候也是亂碼的