代理池,ProxyPool 爬蟲代理IP池安裝與使用(附官方文檔)

 2023-12-09 阅读 31 评论 0

摘要:? 安裝: GitHub上關于ProxyPool的安裝【胎教級教學】_FLIF的博客-CSDN博客_proxypool安裝第一步:ProxyPool的下載與配置第二步:Redis的下載與配置第三步:驗證是否可用https://blog.csdn.net/weixin_48584917/article/details/121710521?csdn_shar

?

安裝:

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:

apimethodDescriptionparams
/GETapi介紹None
/getGET隨機獲取一個代理可選參數:??type=https?過濾支持https的代理
/popGET獲取并刪除一個代理可選參數:??type=https?過濾支持https的代理
/allGET獲取所有代理可選參數:??type=https?過濾支持https的代理
/countGET查看代理數量None
/deleteGET刪除代理?proxy=host:ip

擴展代理:

項目默認包含幾個免費的代理獲取源,但是免費的畢竟質量有限,所以如果直接運行可能拿到的代理質量不理想。所以,提供了代理獲取的擴展方法。

代理池。  添加一個新的代理源方法如下:

  • 1、首先在ProxyFetcher類中添加自定義的獲取代理的靜態方法, 該方法需要以生成器(yield)形式返回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正確的格式返回

?

  • 2、添加好方法后,修改setting.py文件中的PROXY_FETCHER項:

  在PROXY_FETCHER下添加自定義方法的名字:

PROXY_FETCHER = ["freeProxy01",    "freeProxy02",# ...."freeProxyCustom1"  #  # 確保名字和你添加方法名字一致
]

?????????schedule?進程會每隔一段時間抓取一次代理,下次抓取時會自動識別調用你定義的方法。

?

python爬蟲代理ip。官方文檔:ProxyPool — ProxyPool 2.1.0 文檔

?

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://808629.com/195260.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 86后生记录生活 Inc. 保留所有权利。

底部版权信息