iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python3实现并发检验代理池地址的方法
  • 112
分享到

Python3实现并发检验代理池地址的方法

地址方法 2022-06-04 18:06:00 112人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

本文实例讲述了python3实现并发检验代理池地址的方法。分享给大家供大家参考,具体如下: #encoding=utf-8 #author: walker #date: 2016-04-14 #summ

本文实例讲述了python3实现并发检验代理池地址的方法。分享给大家供大家参考,具体如下:


#encoding=utf-8
#author: walker
#date: 2016-04-14
#summary: 用协程/线程池并发检验代理有效性
import os, sys, time
import requests
from concurrent import futures
cur_dir_fullpath = os.path.dirname(os.path.abspath(__file__))
Headers = {
      'Accept': '*/*',
      'User-Agent': 'Mozilla/4.0 (compatible; MSIE 8.0; windows NT 6.1; WOW64; Trident/4.0; SLCC2; .net CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET4.0C; .NET4.0E)',
    }
#检验单个代理的有效性
#如果有效,返回该proxy;否则,返回空字符串
def Check(desturl, proxy, feature):
  proxies = {'Http': 'http://' + proxy}
  r = None #声明
  exMsg = None
  try:
    r = requests.get(url=desturl, headers=Headers, proxies=proxies, timeout=3)
  except:
    exMsg = '* ' + traceback.fORMat_exc()
    #print(exMsg)
  finally:
    if 'r' in locals() and r:
      r.close()
  if exMsg:
    return ''
  if r.status_code != 200:
    return ''
  if r.text.find(feature) < 0:
    return ''
  return proxy
#输入代理列表(set/list),返回有效代理列表
def GetValidProxyPool(rawProxyPool, desturl, feature):
  validProxyList = list()  #有效代理列表
  pool = futures.ThreadPoolExecutor(8)
  futureList = list()
  for proxy in rawProxyPool:
    futureList.append(pool.submit(Check, desturl, proxy, feature))
  print('n submit done, waiting for responsesn')
  for future in futures.as_completed(futureList):
    proxy = future.result()
    print('proxy:' + proxy)
    if proxy: #有效代理
      validProxyList.append(proxy)
  print('validProxyList size:' + str(len(validProxyList)))
  return validProxyList
#获取原始代理池
def GetRawProxyPool():
  rawProxyPool = set()
  #通过某种方式获取原始代理池......
  return rawProxyPool
if __name__ == "__main__":
  rawProxyPool = GetRawProxyPool()
  desturl = 'http://...'    #需要通过代理访问的目标地址
  feature = 'xxx'    #目标网页的特征码
  validProxyPool = GetValidProxyPool(rawProxyPool, desturl, feature)

更多关于python相关内容感兴趣的读者可查看本站专题:《Python入门与进阶经典教程》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python文件与目录操作技巧汇总》

希望本文所述对大家Python程序设计有所帮助。

--结束END--

本文标题: Python3实现并发检验代理池地址的方法

本文链接: https://www.lsjlt.com/news/14194.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python3并发检验代理池地址
    【用线程池并发检验代理有效性】#encoding=utf-8 #author: walker #date: 2016-04-14 #summary: 用线程池并发检验代理有效性 import os, sys, time import re...
    99+
    2023-01-31
    地址
  • python3实现并发访问水平切分表的方法
    这篇文章给大家分享的是有关python3实现并发访问水平切分表的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。场景说明假设有一个mysql表被水平切分,分散到多个host中,...
    99+
    2024-04-02
  • Python搭建自己IP代理池的方法实现
    IP代理是什么: ip就是访问网页数据服务器位置信息,每一个主机或者网络都有一个自己IP信息 为什么要使用代理ip: 因为在向互联网发送请求中,网页端会识别客户端是真实用户还是爬虫程...
    99+
    2023-02-13
    Python搭建IP代理池 Python IP代理池
  • python3通过gevent.pool限制协程并发数量的实现方法
    协程虽然是轻量级的线程,但到达一定数量后,仍然会造成服务器崩溃出错。最好的方法通过限制协程并发数量来解决此类问题。 server代码: #!/usr/bin/env python...
    99+
    2024-04-02
  • Android实现IP地址输入框的方法示例代码
    前言本文主要给大家介绍了关于Android实现IP地址格式输入框的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。实现效果图:解决方案:      1.添加4个Ed...
    99+
    2023-05-30
    android ip地址 输入框
  • PHP开发买菜系统的配送地址管理功能实现方法
    PHP开发买菜系统的配送地址管理功能实现方法随着网络购物的快速发展,买菜系统的出现让人们可以更便捷地购买新鲜的蔬菜水果。在一个完善的买菜系统中,配送地址管理功能是至关重要的。本文将介绍如何利用PHP开发一个买菜系统的配送地址管理功能。一、需...
    99+
    2023-11-01
    PHP开发 地址管理 买菜系统
  • GO实现协程池管理的方法
    使用channel实现协程池 通过 Channel 实现 Goroutine Pool,缺点是会造成协程的频繁开辟和注销,但好在简单灵活通用。 package main imp...
    99+
    2024-04-02
  • JS按钮倒计时并跳转到新地址的实现代码
    目录JS按钮倒计时并跳转到新地址补充:用Javascript实现点击按钮倒计时跳转到其他页面JS按钮倒计时并跳转到新地址 场景:在完成某项操作时,按钮上有个倒计时效果,倒计时结束后,...
    99+
    2023-02-06
    js按钮倒计时跳转 js点击按钮倒计时跳转 js按钮倒计时
  • JavaScript中实现并发控制的方法
    这篇文章将为大家详细讲解有关JavaScript中实现并发控制的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、并发控制简介在日常开发过程中,你可能会遇到并发控制的场景,比如控制请求并发数。那么在 ...
    99+
    2023-06-15
  • python如何实现MK突变检验方法,代码复制修改可用
    目录需求原理工具和语言代码过程定义函数导入变量 ,形成突变检验图总结需求 已知年份和历年最大冻土深度,计算最大冻土深度Mk突变检验。 原理 工具和语言 pythonjupter...
    99+
    2023-05-19
    python MK突变检验 MK突变检验 python突变检验
  • Java实现计网循环冗余检验算法的方法示例
    相关知识点 在数据链路层传送的帧中,广泛使用了循环冗余检验 CRC 的检错技术。 循环冗余检验的原理 在发送端,先把数据划分为组。假定每组 k 个比特。 在每组 ...
    99+
    2024-04-02
  • Python实现获取内网IP地址的方法总结
    目录方法一方法二方法三(三方模块)方法四(Linux)方法五(windows)方法一 import socket def get_local_ip_address(): i...
    99+
    2023-03-24
    Python获取内网IP地址 Python获取IP地址 Python IP地址
  • Java并行处理的实现方法
    本篇内容介绍了“Java并行处理的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录 背景知识 Java 中的并行处理 扩展线程池方...
    99+
    2023-06-20
  • Python使用asyncio包处理并发的实现代码
    使用 asyncio 包处理并发 asyncio包:使用事件循环驱动的协程实现并发。 线程与协程的对比 '\ thinking' 旋转等待效果 In [1]: imp...
    99+
    2022-12-08
    Python asyncio包 Python asyncio包处理并发
  • golang函数实现并发编程的方法
    go 语言函数通过创建协程和利用通道实现了并发编程。协程是轻量级线程,通过 go 关键字创建。通道是协程间传递数据的管道,生产者协程使用 操作符接收数据。以下示例演示了并行处理数据的实...
    99+
    2024-04-25
    golang 并发
  • NumPy并发处理在ASP和Laravel中的实现方法详解
    NumPy是Python语言中常用的科学计算库,它提供了高效的数组操作和数学函数,可以方便地进行矩阵计算、统计分析等操作。在处理大规模数据时,NumPy的性能表现优异,但单纯的使用NumPy还无法满足高并发的需求。因此,在ASP和Lara...
    99+
    2023-06-22
    laravel 并发 numy
  • Redis实现验证码发送并限制每日发送次数的示例代码
    目录1、功能2、分析3、实现1、功能 输入手机号,点击发送后随机生成六位数字码,2分钟有效输入验证码,点击验证,返回成功或失败每个手机号每天只能输3次 2、分析 每个手机每天只能输3...
    99+
    2024-04-02
  • java动态代理的实现方法
    这篇文章主要介绍“java动态代理的实现方法”,在日常操作中,相信很多人在java动态代理的实现方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”java动态代理的实现方法”的疑惑有所帮助!接下来,请跟着小编...
    99+
    2023-06-20
  • nginx+lua单机上万并发的实现方法
    小编给大家分享一下nginx+lua单机上万并发的实现方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!nginx是我们最常用的服务器,常用于做内容分发和反向代理...
    99+
    2023-06-15
  • golang基于errgroup实现并发调用的方法
    目录串行调用基于sync.WaitGroup实现简单的并发调用基于errgroup.Group实现并发调用总结串行调用 在用go编写web/rpc服务器的时候,经常会出现需要对下游多...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作