突破反爬蟲的常用方法是使用代理ip。對于初學者或個人來說,購買一些代理ip的成本略高。因此,最近編寫了一個開源項目IPProxys,為個人提供代理IP。
IpProxys原理:通過抓取各大代理網站提供的免費代理ip,進行去重,驗證ip的可用性,將有效IP存儲在sqlite中,為爬蟲獲取IP提供HTTP接口。
IPProxys項目已經上傳到github,鏈接是https://github.com/qiyeboy/IPProxys.以下是整個項目的描述。
Api包:主要實現http服務器,提供api接口(通過get請求返回json數據)。
數據文件夾:主要指數據庫文件和qqwry.dat的存儲位置(可以查詢ip的地理位置)。
Db包:主要封裝一些數據庫操作。
蜘蛛包是爬蟲的核心功能,在代理網站上抓取代理ip。
測試包:測試一些用例,不參與整個項目的運行。
Util包:提供一些工具類。其中ipAddress.py查詢IP的地理位置。
驗證包:用于測試ip地址是否可用。
Config.py:主要是配置信息(包括配置ip地址的解析方法和數據庫的配置)。
整個項目代碼量很小,大家可以根據自己的需要進行修改,也可以提出自己的想法和建議,幫助我完善這個項目。
如何使用IPProxys項目?
1.將項目目錄克隆到當前文件夾。
$ git克隆
2.切換項目目錄。
$ cd IPProxys
3.運行腳本。
python IPProxys.py
窗口運行效果如下圖所示:
項目依賴關系:
需要安裝Sqlite數據庫。
安裝請求庫:pip安裝請求。
install lxml:apt-get install python-lxml。
ipProxys運行時,外部爬蟲如何獲取IP?
外部爬蟲只需要向IPProxys所在主機的端口8000發送GET請求。獲取請求的參數
動態IP模擬器