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

Python多線程檢測代理IP可用性實例

 更新時間:2026年04月27日 09:51:28   作者:LeoForBest  
本文提供了一個使用Python多線程檢測代理IP可用性的示例代碼,使用了requests庫實現(xiàn),文中強調(diào)了代碼的實用性,并鼓勵讀者參考和使用該腳本

Python多線程檢測代理IP可用性

測試樣本

# ip.txt
110.52.235.87:9999@HTTP#[高匿]湖南省岳陽市 聯(lián)通  
111.43.70.58:51547@HTTP#[未知]黑龍江省 移動(全省通用) 
183.196.97.125:41397@HTTP#[未知]河北省廊坊市 移動  
110.52.235.210:9999@HTTP#[高匿]湖南省岳陽市 聯(lián)通  
183.166.167.163:8080@HTTP#[未知]安徽省黃山市 電信  
111.177.171.242:9999@HTTP#[未知]湖北省隨州市 電信  
123.127.93.188:44399@HTTP#
....
....

python腳本

需要安裝requests

pip install requests
# coding=utf-8
#

import os
import re
import requests
import threading
from datetime import datetime
from requests import RequestException
from time import sleep


BASE_DIR = os.path.dirname(__file__)
IP_TXT = os.path.join(BASE_DIR, datetime.now().strftime('%Y-%m-%d') + '-ip.txt')
SCR_IP_TXT = os.path.join(BASE_DIR, 'ip.txt')

MAX_TEST_THREADS = 100


class TestThread(threading.Thread):
    def __init__(self, _ip_li):
        self.li = _ip_li
        super(TestThread, self).__init__()

    def run(self):
        self.li = [_ for _ in self.li if self.test_ip_available(_)]

    def test_ip_available(self, ip):
        _proxy = {'https': ip}
        try:
            print u'正在檢測IP: %s 有效性\n' % ip
            r = requests.get('https://www.so.com/s?ie=utf-8&fr=none&src=360sou_newhome&q=123', 
                             proxies=_proxy,
                             timeout=5)
            assert u'_360搜索' in r.text
        except (RequestException, AssertionError):
            return False
        print u'找到可用代理IP: %s\n' % ip
        return True


def time_wrapper(func):
    def _wrapper():
        start_time = datetime.now()
        func()
        end_time = datetime.now()
        seconds = (end_time - start_time).total_seconds()
        print u'本次執(zhí)行共消耗: %d分%d秒\n' % (seconds / 60, seconds % 60)
    return _wrapper


@time_wrapper
def parse_ip():
    # 讀取本地ip文件
    with open(SCR_IP_TXT) as f:
        _ip_list = re.findall(r'\d+\.\d+\.\d+\.\d+:\d+', f.read())
    print u'檢索到: %d 個IP地址\n' % len(_ip_list)

    # 平均分配_ip_list到各個線程檢測
    threads = []
    avg = len(_ip_list) / MAX_TEST_THREADS
    if len(_ip_list) % MAX_TEST_THREADS != 0:
        avg += 1
    for i in range(MAX_TEST_THREADS):
        _thread = TestThread(_ip_list[i*avg:(i+1)*avg])
        threads.append(_thread)
        _thread.start()

    # 等待所有檢測線程退出
    while threading.active_count() > 1:
        sleep(10)

    # 讀取所有有效IP并寫入文件
    _ip_list = []
    for th in threads:
        _ip_list.extend(th.li)

    _ip_list = set(_ip_list)
    print u'\n總共找到 %d 個可用IP\n' % len(_ip_list)
    with open(IP_TXT, 'w') as f:
        f.write('\n'.join(_ip_list))


if __name__ == '__main__':
    parse_ip()

結果

檢索到: 1899 個IP地址

......
......
......

正在檢測IP: 124.81.245.148:8080 有效性

正在檢測IP: 111.177.160.17:9999 有效性


總共找到 60 個可用IP

本次執(zhí)行共消耗: 2分13秒

總結

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

相關文章

  • Python實現(xiàn)對文件進行單詞劃分并去重排序操作示例

    Python實現(xiàn)對文件進行單詞劃分并去重排序操作示例

    這篇文章主要介紹了Python實現(xiàn)對文件進行單詞劃分并去重排序操作,涉及Python文件讀取、字符串遍歷、拆分、排序等相關操作技巧,需要的朋友可以參考下
    2018-07-07
  • Numpy 多維數(shù)據(jù)數(shù)組的實現(xiàn)

    Numpy 多維數(shù)據(jù)數(shù)組的實現(xiàn)

    這篇文章主要介紹了Numpy 多維數(shù)據(jù)數(shù)組的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • 關于Torch?torchvision?Python版本對應關系說明

    關于Torch?torchvision?Python版本對應關系說明

    這篇文章主要介紹了關于Torch?torchvision?Python版本對應關系說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • Python中取整的幾種方法小結

    Python中取整的幾種方法小結

    這篇文章主要介紹了Python中取整的幾種方法,其中包括向下取整、四舍五入取整、向上取整以及分別取整數(shù)部分和小數(shù)部分。分別都給出了示例代碼,相信對大家的理解和學習具有一定的參考借鑒價值,需要的朋友可以參考借鑒。
    2017-01-01
  • 上帝為你開了一扇窗之Tkinter常用函數(shù)詳解

    上帝為你開了一扇窗之Tkinter常用函數(shù)詳解

    構思了很長一段時間,總感覺不夠有趣,于是打算出一個完整的系列,讓大家一起感受python的樂趣.這個系列著重以系統(tǒng)庫中的tkinter為中心來圍繞進行編寫.因此我們的第一步是導入模塊, 第一節(jié)就來為大家建立一個窗口 ,需要的朋友可以參考下
    2021-06-06
  • Django重設Admin密碼過程解析

    Django重設Admin密碼過程解析

    這篇文章主要介紹了Django重設Admin密碼過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Python中typing模塊與類型注解的使用方法

    Python中typing模塊與類型注解的使用方法

    這篇文章主要給大家介紹了關于Python中typing模塊與類型注解的使用方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-08-08
  • Django中get()與filter()的區(qū)別及常見錯誤

    Django中get()與filter()的區(qū)別及常見錯誤

    Django中get()和filter()是數(shù)據(jù)查詢的核心方法,本文就來介紹一下Django中get()與filter()的區(qū)別及常見錯誤,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-11-11
  • Python NumPy實現(xiàn)數(shù)組搜索示例詳解

    Python NumPy實現(xiàn)數(shù)組搜索示例詳解

    NumPy是一個開源的Python科學計算庫,使用NumPy可以很自然地使用數(shù)組和矩陣,這篇文章主要介紹了使用NumPy實現(xiàn)數(shù)組搜索,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習吧
    2023-05-05
  • keras實現(xiàn)基于孿生網(wǎng)絡的圖片相似度計算方式

    keras實現(xiàn)基于孿生網(wǎng)絡的圖片相似度計算方式

    這篇文章主要介紹了keras實現(xiàn)基于孿生網(wǎng)絡的圖片相似度計算方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論

神池县| 温宿县| 阿坝| 柳河县| 和静县| 萨迦县| 湘阴县| 襄垣县| 蓬安县| 甘德县| 泰安市| 西安市| 宜兴市| 邹城市| 渝中区| 东方市| 卓尼县| 依安县| 东阳市| 仙居县| 宣城市| 濮阳县| 吴江市| 廊坊市| 来安县| 缙云县| 阿巴嘎旗| 海南省| 搜索| 巴楚县| 万安县| 沅江市| 宝清县| 北海市| 锦屏县| 东至县| 舞阳县| 沙洋县| 伊宁市| 乐陵市| 全南县|