爬蟲如何做到偽裝和防Ban的?
在一次真實的ip請求中,我們都會帶著各種樣的請求參數,如果將這些參數補全,那我們被ban的機率也會相應的減少很多。如何將這些參數在scrapy的項目補齊?在開始這個問題之前,我們回頭來看看scrapy的架構。
從架構中我們可以清晰的看到,如果要操作這些參數,我們可以從DownloaderMiddlewares下載中間件著手,有人可能會有疑問:記得Spider中有一個start_requests的方法,不是可以寫到代碼中么Scrapy在架構和django都有點類似,那就是松散耦合的原則,各個功能和文件都應該各司其職。現在我們要實現這樣的一個功能,在我們請求的時候,我們可以隨機的更換請求頭(User-Agent)
那就是透明http代理。那是不是不用透明http代理就可以隱藏自己的身份呢?是的,只不過,普通匿名http代理雖然不知道真實身份,但是知道你是個臥底。只有高匿名ip代理才能做到如假包換。要想識別代理服務器軟件的等級并不復雜,只需要通過腳本程序(如ASPPHPJSP等)即可在服務器端識別出來,識別的辦法就是抓數據包里的相關字段:REMOTE_ADDR,HTTP_VIA以及HTTP_X_FORWARDED_FOR。
版權聲明:本文為ipadsl.cn所屬公司原創作品,未經許可,禁止轉載!