2016-09-06 82 views
-3

我知道用美麗的湯姆模塊編寫Python爬蟲。現在我想檢測是否有人抓取我的網站。怎麼做。有人可以指向我的代碼或源代碼。基本上我正在尋找在Python中編寫反爬行器。反爬行器 - Python

+1

這根本無法完成。您可以嘗試阻止最簡單的方法(阻止用戶代理,注意快速請求,使用JavaScript注入等),但您無法阻止它。 – sberry

回答

0

這很難,但可以做的事情來過濾爬蟲。

驗證

顯示頁面只有授權的用戶。

強驗證碼

如果您的驗證碼系統足夠強大,能抗爬蟲的一部分。

用戶代理

從履帶請求可能不會設置用戶代理,這樣就可以阻止這些請求沒有用戶代理(或不對用戶代理)。

請求頻率

一些爬蟲請求您的網站更多的速度比人,阻止他們的IP。

JS負載

使用JavaScript加載你的HTML,正常的檢索只能得到基本HTML的JavaScript加載完成之前。

臨時URL

您可以用時間戳(或別的東西),並公開網址您的網址編碼爲用戶訪問,使得一些爬蟲無法找到入口。

或任何其他

....

0

什麼假設,並非所有爬蟲都討厭?大多數人都尊重robots directives。當然,你可以實現各種啓發式的阻止機器人,但你做的是首先要具有

User-agent: * 
Disallow:/
在一個robots.txt

在您的網站的根目錄。

然後,如果你真的想讓那些不遵循robots.txt的人努力工作,那麼對所有鏈接使用Javascript:不是100%保證阻止機器人,但它會讓他們的生活變得更加困難。