欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python檢測代理ip是否有效問題

 更新時(shí)間:2023年08月12日 09:29:48   作者:小胖_@  
這篇文章主要介紹了python檢測代理ip是否有效問題,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

python檢測代理ip是否有效

測試環(huán)境

python3.6 、window10系統(tǒng)

測試方法

第一種

  • 使用requests模塊。
  • 使用requests.get() 發(fā)請求,根據(jù)其返回的網(wǎng)頁內(nèi)容進(jìn)行判斷,代理ip是否有效。
import telnetlib
try:
    telnetlib.Telnet(ip, port, timeout=3)
    	print("代理IP有效!")
except:
        print("代理IP無效!")
  • 缺點(diǎn):雖然可以檢測代理ip是否有效,但是該方法只能用于檢測少量的代理ip,原因是該方法檢測速度比較慢,主要耗時(shí)的是發(fā)請求這一過程。(可以使用)

第二種

  • telnet 方法。
import telnetlibtry:    telnetlib.Telnet(ip, port, timeout=3)    print("代理IP有效!")except:        print("代理IP無效!")

缺點(diǎn):雖然該方法可以比較快速的驗(yàn)證,但是經(jīng)測試發(fā)現(xiàn)一些代理ip可以測試通過,但實(shí)際上代理ip仍然無效。(不推薦使用)

第三種

利用的http://icanhazip.com/返回的IP進(jìn)行校驗(yàn),如返回的是代理池的IP,說明代理有效,否則實(shí)際代理無效

def check_proxy(ip, port):    &#34;&#34;&#34;第二種&#xff1a;&#34;&#34;&#34;    try:        # 設(shè)置重連次數(shù)        requests.adapters.DEFAULT_RETRIES &#61; 3        # IP &#61; random.choice(IPAgents)        proxy &#61; f&#34;http://{<!-- -->ip}:{<!-- -->port}&#34;        # thisIP &#61; &#34;&#34;.join(IP.split(&#34;:&#34;)[0:1])        # print(thisIP)        res &#61; requests.get(url&#61;&#34;http://icanhazip.com/&#34;, timeout&#61;2, proxies&#61;{<!-- -->&#34;http&#34;: proxy})        proxyIP &#61; res.text        if (proxyIP &#61;&#61; proxy):            print(&#34;代理IP:&#39;&#34; &#43; proxyIP &#43; &#34;&#39;有效&#xff01;&#34;)            return True        else:            print(&#34;2代理IP無效&#xff01;&#34;)            return False    except:        print(&#34;1代理IP無效&#xff01;&#34;)        return Falsedef check_proxy(ip, port):
    """第二種:"""
    try:
        # 設(shè)置重連次數(shù)
        requests.adapters.DEFAULT_RETRIES = 3
        # IP = random.choice(IPAgents)
        proxy = f"http://{ip}:{port}"
        # thisIP = "".join(IP.split(":")[0:1])
        # print(thisIP)
        res = requests.get(url="http://icanhazip.com/", timeout=2, proxies={"http": proxy})
        proxyIP = res.text
        if (proxyIP == proxy):
            print("代理IP:'" + proxyIP + "'有效!")
            return True
        else:
            print("2代理IP無效!")
            return False
    except:
        print("1代理IP無效!")
        return False

推薦使用。

python批量檢測IP代理是否可用

首先,我們需要導(dǎo)入必要的庫:

import requests
import time?

然后,我們可以定義一個(gè)函數(shù)來檢測代理是否可用:

def check_proxy(proxy):
? ? # 使用代理發(fā)起請求,如果返回狀態(tài)碼為200,說明代理可用
? ? try:
? ? ? ? # 這里替換為你要請求的目標(biāo)網(wǎng)站
? ? ? ? response = requests.get('http://www.baidu.com', proxies={"http": proxy, "https": proxy}, timeout=5)
? ? ? ? if response.status_code == 200:
? ? ? ? ? ? return True
? ? except Exception:
? ? ? ? pass
? ? return False

接下來,我們可以讀取包含代理的文本文件,并將可用的代理寫入另一個(gè)文件中:

# 讀取代理列表
with open('proxies.txt', 'r') as f:
? ? proxy_list = f.read().splitlines()
# 創(chuàng)建用于保存可用代理的列表
valid_proxies = []
# 遍歷代理列表,檢測代理是否可用
for proxy in proxy_list:
? ? if check_proxy(proxy):
? ? ? ? valid_proxies.append(proxy)
# 將可用代理寫入文件
with open('valid_proxies.txt', 'w') as f:
? ? for proxy in valid_proxies:
? ? ? ? f.write(proxy + '\n')

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python文件時(shí)間操作步驟代碼詳解

    Python文件時(shí)間操作步驟代碼詳解

    這篇文章主要介紹了Python文件時(shí)間操作步驟代碼詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Python中函數(shù)的用法實(shí)例教程

    Python中函數(shù)的用法實(shí)例教程

    這篇文章主要介紹了Python中函數(shù)的用法,以數(shù)值計(jì)算的實(shí)例方式講述了Python程序設(shè)計(jì)中函數(shù)的功能機(jī)抽象化特點(diǎn),需要的朋友可以參考下
    2014-09-09
  • 通過底層源碼理解YOLOv5的Backbone

    通過底層源碼理解YOLOv5的Backbone

    yolov5的特征提取網(wǎng)絡(luò)兼顧速度與精度,將PAN與PFN深度融合,對不同尺度魯棒性強(qiáng),可以即插即用,后接不同的檢測器,下面這篇文章主要給大家介紹了關(guān)于如何通過底層源碼理解YOLOv5的Backbone的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • Python自動(dòng)操作神器PyAutoGUI的使用教程

    Python自動(dòng)操作神器PyAutoGUI的使用教程

    這篇文章主要是想和大家來聊一聊Python如何利用自動(dòng)操作 GUI 神器——PyAutoGUI在桌面實(shí)現(xiàn)自動(dòng)化操作,感興趣的小伙伴可以了解一下
    2022-06-06
  • 使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本

    使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本

    最近工作中有這樣一個(gè)需求:客戶反饋在瀏覽器操作過程中,重復(fù)流程操作太頻繁,能不能讓瀏覽器自動(dòng)操作完成?所以本文給大家介紹了如何使用python實(shí)現(xiàn)一個(gè)瀏覽器自動(dòng)化的腳本,感興趣的朋友可以參考下
    2024-04-04
  • python實(shí)現(xiàn)漢諾塔方法匯總

    python實(shí)現(xiàn)漢諾塔方法匯總

    本文給大家匯總了幾種使用Python結(jié)合遞歸算法實(shí)現(xiàn)漢諾塔的方法,非常的簡單實(shí)用,對大家學(xué)習(xí)Python很有幫助,希望大家能夠喜歡
    2016-07-07
  • python生成器的使用方法

    python生成器的使用方法

    這篇文章主要介紹了什么是生成器,生成器如何使用,下文用例子說明了怎么使用生成器
    2013-11-11
  • Python安裝及建立虛擬環(huán)境的完整步驟

    Python安裝及建立虛擬環(huán)境的完整步驟

    在使用 Python 開發(fā)時(shí),建議在開發(fā)環(huán)境和生產(chǎn)環(huán)境下都使用虛擬環(huán)境來管理項(xiàng)目的依賴,下面這篇文章主要給大家介紹了關(guān)于Python安裝及建立虛擬環(huán)境的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • Django發(fā)送郵件功能實(shí)例詳解

    Django發(fā)送郵件功能實(shí)例詳解

    在本篇文章里小編給大家整理了關(guān)于Django發(fā)送郵件功能的詳細(xì)內(nèi)容,有需要的朋友們可以參考學(xué)習(xí)下。
    2019-09-09
  • Python中的錯(cuò)誤處理與調(diào)試技巧分享

    Python中的錯(cuò)誤處理與調(diào)試技巧分享

    在軟件開發(fā)過程中,錯(cuò)誤是不可避免的,無論是在開發(fā)初期還是在項(xiàng)目后期,程序都可能會(huì)遇到各種各樣的錯(cuò)誤,本文將深入探討 Python 中的錯(cuò)誤處理機(jī)制、常見錯(cuò)誤類型及其處理方法,并介紹一些實(shí)用的調(diào)試技巧,以提高開發(fā)效率和代碼質(zhì)量,需要的朋友可以參考下
    2025-01-01

最新評論