做為一個爬蟲,最頭疼的問題就是你的ip被封,想要在Scrapy領域無限制暢游,做好偽裝是第一步,於是乎,抓取代理IP成了很多教程的開始部分。這里我說一下代理scrapy中代理ip,僅供大家借鑒!
代理ip使用分為下面幾個步驟:
1.從網上抓取代理ip(網上很容易搜到很多免費的ip可以供大家使用)
2.驗證ip的有效性(免費的ip並不都是那么好用的,所有要大家去驗證是否可用socket)
3.存儲ip(有很多方式存儲,可以存在文本文檔中,也可以存在數據庫中,為了方便使用我一般都存在數據庫當中)
4.scrapy 中使用代理ip
scrapy 中實現代理的途徑有兩種,Spider Middlewares 和 Downloader Middlewares . 他們都要實現各自的方法,我這里主要說一下Downloader Middlewares 中代理的使用 。
在 Downloader Middlewares 中使用首先要重寫process_request()方法。主代碼如下:
從你驗證好的ip中取出來判斷類型,然后將其加載request參數中循環使用。
驗證ip我就不在這里講了,有很多方法,我使用的是響應socket.
最后記得在settings 中設置代理使用的優先級,一定要比你的其他項目優先級高
設置完了,就可以和你之前的程序一起使用了.