我有一個頁面可以統計用戶訪問過多少次(註冊,訪客,每種用戶......)。如何忽略網絡爬蟲?
因此,我每次查看頁面時都更新數據庫中的字段;是的,如果頁面快速刷新,但我不介意這一點。
當然,當一些機器人/爬行器掃描我的網站時,他們會增加這個值,我會擺脫這一點。那麼,是否有一個要忽略的IP地址列表?或者有些機制可以幫助我做到這一點?
我有一個頁面可以統計用戶訪問過多少次(註冊,訪客,每種用戶......)。如何忽略網絡爬蟲?
因此,我每次查看頁面時都更新數據庫中的字段;是的,如果頁面快速刷新,但我不介意這一點。
當然,當一些機器人/爬行器掃描我的網站時,他們會增加這個值,我會擺脫這一點。那麼,是否有一個要忽略的IP地址列表?或者有些機制可以幫助我做到這一點?
IP地址可能會改變,因此它不是檢測訪客是否是機器人的最佳方式。相反,我建議在HTTP請求參數中查看用戶代理字符串。
下面是用戶代理字符串列表:http://www.user-agents.org/。特別在「機器人,履帶式機器人,蜘蛛機器人」的R型下面。
那些試圖抓住人們電子郵件?他們不會在請求中發送用戶代理信息:p –
@hugo_leonardo,完全不同的問題 – Pacerier
大多數人沒有靜態IP地址。您是否設置了robots.txt來拒絕對抓取工具/機器人的訪問?您可以定期查詢您的日誌文件以嘗試識別那些不尊重robots.txt的文件,儘管用戶代理很容易被欺騙/更改。
他不想阻止機器人,他想在他的訪問統計中忽略它們。 –
另一種方法是使用ajax。大多數爬蟲不解析JavaScript。
哦......是的,這是一個很好的觀點:)與「大多數」你是什麼意思?有沒有解析js的抓取工具? – markzzz
谷歌有能力解析JavaScript。但**我認爲**它只能在URL中使用'#!'在網頁上進行(如twitter)。 –
無論如何,因爲谷歌是尊重'robots.txt',你也應該使用它。有了它,你可以根據需要禁用統計頁面。 –
曾聽說過robots.txt? – Kumar
@Kumar這是一個很好的起點(正如我在我的回答中提到的那樣),但PITA抓取工具/機器人通常忽略robots.txt – marto
@marto PITA機器人是什麼意思 – Pacerier