GitHub上關于ProxyPool的安裝【胎教級教學】_FLIF的博客-CSDN博客_proxypool安裝第一步:ProxyPool的下載與配置第二步:Redis的下載與配置第三步:驗證是否可用https://blog.csdn.net/weixin_48584917/article/details/121710521?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22121710521%22%2C%22source%22%3A%22weixin_47251596%22%7D&ctrtid=75Gby
這個博主寫的非常細節,可以直接參考。
接上文,介紹一下proxy_pool的基本用法
import requests# 隨機獲取一個ip
def get_proxy():return requests.get("http://127.0.0.1:5010/get/").json()# 刪除一個ip
def delete_proxy(proxy):requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))def getHtml():retry_count = 5# 獲得一個隨機ipproxy = get_proxy().get("proxy")while retry_count > 0:try:# 嘗試用獲得的ip去訪問測試網址html = requests.get('http://www.example.com', proxies={"http": "http://{}".format(proxy)})return html# 如果報錯,則嘗試次數-1,五次后停止訪問except Exception:retry_count -= 1# 用完一次就刪除代理池中這條代理ipdelete_proxy(proxy)return NonegetHtml()
api | method | Description | params |
---|---|---|---|
/ | GET | api介紹 | None |
/get | GET | 隨機獲取一個代理 | 可選參數:??type=https ?過濾支持https的代理 |
/pop | GET | 獲取并刪除一個代理 | 可選參數:??type=https ?過濾支持https的代理 |
/all | GET | 獲取所有代理 | 可選參數:??type=https ?過濾支持https的代理 |
/count | GET | 查看代理數量 | None |
/delete | GET | 刪除代理 | ?proxy=host:ip |
項目默認包含幾個免費的代理獲取源,但是免費的畢竟質量有限,所以如果直接運行可能拿到的代理質量不理想。所以,提供了代理獲取的擴展方法。
代理池。 添加一個新的代理源方法如下:
host:ip
格式的代理,例如:class ProxyFetcher(object):# ....# 自定義代理源獲取方法@staticmethoddef freeProxyCustom1(): # 命名不和已有重復即可# 通過某網站或者某接口或某數據庫獲取代理# 假設你已經拿到了一個代理列表proxies = ["x.x.x.x:3128", "x.x.x.x:80"]for proxy in proxies:yield proxy# 確保每個proxy都是 host:ip正確的格式返回
?
PROXY_FETCHER
項: 在PROXY_FETCHER
下添加自定義方法的名字:
PROXY_FETCHER = ["freeProxy01", "freeProxy02",# ...."freeProxyCustom1" # # 確保名字和你添加方法名字一致
]
?????????schedule
?進程會每隔一段時間抓取一次代理,下次抓取時會自動識別調用你定義的方法。
?
python爬蟲代理ip。官方文檔:ProxyPool — ProxyPool 2.1.0 文檔
?
版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。
工作时间:8:00-18:00
客服电话
电子邮件
admin@qq.com
扫码二维码
获取最新动态