【搜索問答劇場 5】“百度蜘蛛”全面解析

2022-08-18 21:12:21
【抓取篇】
 
1 ?什么是Baiduspider?Baiduspider也叫百度蜘蛛,是百度搜索引擎的一個自動程序,它的作用是訪問互聯網上的網頁,建立索引數據庫,使用戶能在百度搜索引擎中搜索到網站相關內容。
 
2 ?如何才能識別當前抓取是正確的
 
百度蜘蛛?
 
開發者們可以通過以下兩個方式判斷百度蜘蛛。
 
方式一:查看UA信息
 
如果UA信息不對,可以直接判斷為非百度搜索的蜘蛛。目前UA分為移動、PC、和小程序三個應用場景,這三個渠道UA分別如下:
 
移動UA
 
Mozilla/5.0 (Linux;u;Android 4.2.2;zh-cn;) AppleWebKit/534.46 (KHTML,like Gecko)Version/5.1 Mobile Safari/10600.6.3 (compatible; Baiduspider/2.0;+http://www.baidu.com/search/spider.html)
 
或者
 
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;+http://www.baidu.com/search/spider.html) 
 
PC UA
 
Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)
 
或者
 
Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)
 
小程序UA
 
Mozilla/5.0 (iPhone;CPU iPhone OS 9_1 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko)Version/9.0 Mobile/13B143 Safari/601.1 (compatible; Baiduspider-render/2.0;Smartapp; +http://www.baidu.com/search/spider.html)
 
方式二:雙向DNS解析認證
 
第1步:DNS反查IP
 
開發者通過對日志中訪問服務器的IP地址運行反向DNS查找,判斷某只spider是否來自百度搜索引擎,Baiduspider的hostname以*.baidu.com或*.baidu.jp 的格式命名,其他格式即為冒充。
 
不同類型的平臺驗證方法也不同,如Linux / Windows / OS三種平臺下的驗證方法分別如下:
 
(1)在Linux平臺下,可以使用host ip命令反解ip來判斷是否來自Baiduspider的抓取。
 
(2)在Windows平臺下,可以使用nslookup ip命令反解ip來 判斷是否來自Baiduspider的抓取 。
 
(3)在Mac OS平臺下,可以使用dig 命令反解ip來 判斷是否來自Baiduspider的抓取。
 
第2步:對域名運行正向DNS查找
 
對第1步中通過命令檢索到的域名運行正向DNS查找,驗證該域名與您日志中訪問服務器的原始IP地址是否一致,IP地址一致可確認spider來自百度搜索引擎,IP地址不一致即為冒充。
 
3?百度蜘蛛會一直抓我的網站嗎?
 
一般會的,若網站持續生產新資源、更新內容等,蜘蛛會持續抓取的。需要提醒的是,若網站需要百度蜘蛛抓取一定不要做任何封禁哦。(封禁相關參考下文內容)
 
此外,您也可以檢查網站訪問日志,及時判斷正確的百度蜘蛛,以防止有人惡意冒充百度蜘蛛來頻繁抓取您的網站。
 
4?百度蜘蛛頻繁光顧網站,導致網站服務器壓力大,怎么辦?
 
若發現百度蜘蛛頻繁抓取,可能是因為以下2個原因。
 
(1)網站存在新生產資源、更新內容待抓取更新;
 
(2) 可能存在惡意冒充百度蜘蛛,可以通過上文Q2“如何識別正常百度蜘蛛”的方法排查問題;
 
若百度蜘蛛抓取頻次過高,造成網站服務異常,可以通過百度搜索資源平臺-【抓取頻次】工具調整頻次。
 
【封禁篇】
 
1 ?網站部分資源不希望被百度蜘蛛訪問
 
該怎么做?百度蜘蛛遵守互聯網robots協議。站長可以更新robots.txt文件,文件中明確不希望百度蜘蛛訪問資源或目錄等,并及時通過搜索資源平臺-【Robots】工具,提交robots文件。
 
需要注意,robots文件更新和提交后,搜索引擎需要逐漸完成更新,所以百度蜘蛛不是立即停止抓取網頁,請耐心等待。
 
2 ?網站封禁百度蜘蛛,可能會帶來哪些影響?
 
網站資源優質,也沒有其他違規問題,但是存在以下情況,可以先自查是否存在封禁百度蜘蛛的問題,及時解除封禁(解除封禁參考QA7),等待恢復。
 
(1)沒有查詢到百度蜘蛛任何抓取記錄。
 
(2)在百度搜索中沒有得到收錄和展現。
 
(3)網站/目錄存在流量異常下降的情況。
 
(4)在搜索結果中的摘要展現為“存在robots封禁”字樣。
 
3 ?如何解除封禁百度蜘蛛?
 
常見的封禁行為包括robots封禁、封禁百度UA、封禁百度IP這三種,可以逐一排查解決。
 
自查robots封禁
 
查看robots.txt文件,是否存在封禁記錄。(一般robots.txt文件放置在網站根目錄下。)
 
自查是否封禁百度UA
 
robots文件無異常的情況下,進一步排查是否存在封禁百度UA情況。
 
第一種方法:執行 curl --head --user-agent 'Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)' --request GET 'xxxxxxx'
 
注意:正常返回碼是200,其他情況為異常。
 
第二種方法:變更瀏覽器UA驗證。
 
自查是否存在IP封禁
 
以上驗證均無異常,最后進一步排查是否存在IP級別的封禁。
 
常見的IP封禁,源自網站的防火墻系統配置,需要查看防火墻配置系統后臺,檢查是否存在百度蜘蛛的IP級別封禁措施。

 
收藏 舉報

延伸 · 閱讀