開源項目IPProxys的使用


前幾天看了一下github上,IPProxys開源項目(https://github.com/qiyeboy/IPProxys)快100star了,看來大家對這個項目還是比較感興趣的。最近一直沒更新文章,主要是忙實驗室的工作和寫一個之前給大家提到新的開源項目,我將它命名為PowerProxy,寫的過程中遇到了很多問題,算是一個不錯的學習經歷,對sock5協議,windows內核有了一定的理解。開源的日期還沒確定,需要將一些關鍵問題解決,大家敬請期待。

看到大家對IPProxys項目挺感興趣,下面就介紹一下它的使用方式。(我的新書《Python爬蟲開發與項目實戰》出版了,大家可以看一下樣章

 

IPProxys使用

項目依賴

ubuntu,debian下

  • 安裝sqlite數據庫: apt-get install sqlite sqlite3 

  • 安裝requests庫: pip install requests 

  • 安裝lxml: apt-get install python-lxml 

windows下

  • 下載sqlite,路徑添加到環境變量 

  • 安裝requests庫: pip install requests 

  • 安裝lxml: pip install lxml或者下載lxml windows版

 

如何使用

  1. 將項目目錄clone到當前文件夾

    $ git clone

  2. 切換工程目錄

    $ cd IPProxys

  3. 運行腳本

    python IPProxys.py

 

API 使用方法

模式

    GET /

 

參數

例子

IPProxys默認端口為8000

如果是在本機上測試:

  1. 獲取5個ip地址在中國的高匿代理:http://127.0.0.1:8000/?types=0&count=5&country=中國 

  2. 響應為JSON格式,按照響應速度由高到低,返回數據: 

    [{"ip": "220.160.22.115", "port": 80}, {"ip": "183.129.151.130", "port": 80}, {"ip": "59.52.243.88", "port": 80}, {"ip": "112.228.35.24", "port": 8888}, {"ip": "106.75.176.4", "port": 80}] 

示例代碼:

import requests

import json

r = requests.get('http://127.0.0.1:8000/?types=0&count=5&country=中國')

ip_ports = json.loads(r.text)

print ip_ports

ip = ip_ports[0]['ip']

port = ip_ports[0]['port']

proxies={

    'http':'http://%s:%s'%(ip,port),

    'https':'http://%s:%s'%(ip,port)

}

r = requests.get('http://ip.chinaz.com/',proxies=proxies)

r.encoding='utf-8'

print r.text

TODO

  1. 可自主選擇添加squid反向代理服務器,簡化爬蟲配置 

  2. 重構HTTP API接口 

  3. 增加更多代理網站和數據庫適配


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM