最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python檢測(cè)代理ip是否有效問(wèn)題

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

python檢測(cè)代理ip是否有效

測(cè)試環(huán)境

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

測(cè)試方法

第一種

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

第二種

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

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

第三種

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

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無(wú)效&#xff01;&#34;)            return False    except:        print(&#34;1代理IP無(wú)效&#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無(wú)效!")
            return False
    except:
        print("1代理IP無(wú)效!")
        return False

推薦使用。

python批量檢測(cè)IP代理是否可用

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

import requests
import time?

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

def check_proxy(proxy):
? ? # 使用代理發(fā)起請(qǐng)求,如果返回狀態(tài)碼為200,說(shuō)明代理可用
? ? try:
? ? ? ? # 這里替換為你要請(qǐng)求的目標(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

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

# 讀取代理列表
with open('proxies.txt', 'r') as f:
? ? proxy_list = f.read().splitlines()
# 創(chuàng)建用于保存可用代理的列表
valid_proxies = []
# 遍歷代理列表,檢測(cè)代理是否可用
for proxy in proxy_list:
? ? if check_proxy(proxy):
? ? ? ? valid_proxies.append(proxy)
# 將可用代理寫(xiě)入文件
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)文章

最新評(píng)論

广平县| 页游| 山丹县| 嫩江县| 横峰县| 岳阳县| 松原市| 五峰| 翼城县| 张北县| 宁城县| 抚宁县| 土默特左旗| 阿拉善右旗| 阿城市| 建平县| 白沙| 定西市| 班戈县| 井研县| 新化县| 平谷区| 贺州市| 大丰市| 观塘区| 山阳县| 鲁甸县| 勃利县| 日土县| 全椒县| 定日县| 陆丰市| 西盟| 荆门市| 苗栗县| 潜江市| 城固县| 鄂温| 辰溪县| 家居| 禹州市|