之前百度站長平臺接到某站長求助,表示誤封禁了Baiduspider的IP,詢問是否有辦法獲得Baiduspider的所有IP,打算放入白名單加以保護,防止再次誤封。在此百度官方告訴各位站長,Baiduspider的IP池是不斷變動的,我們無法提供IP全集。
除此之外,之前還有站長發(fā)來質(zhì)疑說Baiduspider光顧過于頻繁,已超越服務器承受能力。而百度站長平臺追查發(fā)現(xiàn),Baiduspider對該站點的抓取并無異常,那只spider極有可能是個李鬼。
那么,站長該如何通過IP來判斷此spider是不是來自百度搜索引擎的呢?
可以通過DNS反查方式來解決這個問題。根據(jù)平臺不同驗證方法不同,如linux/windows/os三種平臺下的驗證方法分別如下:
1、在linux平臺下,您可以使用host ip命令反解ip來判斷是否來自Baiduspider的抓取。Baiduspider的hostname以 *.baidu.com 或 *.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即為冒充。
2、在windows平臺或者IBM OS/2平臺下,您可以使用nslookup ip命令反解ip來 判斷是否來自Baiduspider的抓取。打開命令處理器 輸入nslookup xxx.xxx.xxx.xxx(IP地 址)就能解析ip, 來判斷是否來自Baiduspider的抓取,Baiduspider的hostname以*.baidu.com 或*.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即為冒充。
3、在mac os平臺下,您可以使用dig 命令反解析 ip來 判斷是否來自Baiduspider的抓取。打開命令處理器 輸入dig xxx.xxx.xxx.xxx(IP地 址)就能解析ip, 來判斷是否來自Baiduspider的抓取,Baiduspider的hostname以 *.baidu.com 或*.baidu.jp 的格式命名,非 *.baidu.com 或 *.baidu.jp 即為冒充。
百度蜘蛛真假識別方法:
實際上,我們的日志中,有很多的baiduspider是他人偽裝的,要想解決這個問題。我們必須在驗證baiduspider真?zhèn)紊舷鹿Ψ?,這篇文章詳細的介紹了爬蟲的鑒別方法。
我們在根據(jù)網(wǎng)站日志分析搜索引擎蜘蛛抓取網(wǎng)頁的記錄時,實際上很多站點都是有一些偽裝成baiduspider的到訪者的。這些數(shù)據(jù)會嚴重影響我們對日志分析后的判斷。
這些到訪者,為什么會偽裝為baiduspider來訪問我們的網(wǎng)站呢?最典型的就是采集你網(wǎng)站內(nèi)容的那些人。他們知道很多工具是能夠看到哪些ip訪問網(wǎng)站的量過大的。例如某一個ip今天訪問你網(wǎng)站1萬次,那正常嗎?肯定是不正常的。但他要是baiduspdier呢?呵呵,那就正常了。
我們應該如何識別baiduspider的真假呢?
百度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 (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)
如上是包含了百度的常規(guī)爬蟲,和渲染爬蟲render的。這兩個爬蟲的區(qū)別符已經(jīng)用紅色字體標出來了。
區(qū)分百度pc和移動端的爬蟲
通過關(guān)鍵詞“Android”或者“Mobile”來進行識別,判斷為移動訪問或者抓取。
通過關(guān)鍵詞“Baiduspider/2.0”、“Baiduspider-render/2.0”,判斷為百度爬蟲。
然而,你以為這樣就能很好的識別了嗎?采集者要是偽裝成和上面一樣的UA信息怎么辦呢?
這個時候我們就要用到ip地址了,每一次訪問在日志中都記錄了訪客的ip地址,我們可以判斷ip是不是真的baiduspider,方法如下:
windows電腦反查ip,判斷爬蟲真?zhèn)危?/p>
點擊“開始”菜單,-> 點擊“運行”按鈕,-> 然后彈出cmd窗口。輸入“nslookup 要查詢的ip地址”,點擊回車鍵,會有結(jié)果輸出出來。判斷是否來自Baiduspider的抓取?;剀嚭蟮慕Y(jié)果如果包含x x.baidu.com 或x x.baidu.jp 這兩種格式,就說明是真的baiduspider。下面是示例:
如上圖中,我執(zhí)行命令,返回的結(jié)果中,最后綠色框中的內(nèi)容就包含的xx.baidu.com,所以是真的爬蟲,如果不是這樣的就不是真的baiduspider。
liunx系統(tǒng)反查ip,判斷爬蟲真?zhèn)危?/p>
liunx系統(tǒng)驗證爬蟲的邏輯與windows沒有什么區(qū)別,只是查詢的方式不同。畢竟系統(tǒng)不一樣了。這里我直接給一個示例:
如上圖,liunx使用的命令是“host 要查詢的ip地址”,其判斷邏輯與windows系統(tǒng)一樣。