当前位置: 首页 > news >正文

2023-简单点-proxyPool源码(二)-setting.py

proxyPool

  • setting.py

setting.py

# -*- coding: utf-8 -*-
"""
-------------------------------------------------File Name:     setting.pyDescription :   配置文件Author :        JHaodate:          2019/2/15
-------------------------------------------------Change Activity:2019/2/15:
-------------------------------------------------
"""BANNER = r"""
****************************************************************
*** ______  ********************* ______ *********** _  ********
*** | ___ \_ ******************** | ___ \ ********* | | ********
*** | |_/ / \__ __   __  _ __   _ | |_/ /___ * ___  | | ********
*** |  __/|  _// _ \ \ \/ /| | | ||  __// _ \ / _ \ | | ********
*** | |   | | | (_) | >  < \ |_| || |  | (_) | (_) || |___  ****
*** \_|   |_|  \___/ /_/\_\ \__  |\_|   \___/ \___/ \_____/ ****
****                       __ / /                          *****
************************* /___ / *******************************
*************************       ********************************
****************************************************************
"""VERSION = "2.4.0"# ############### server config ###############
HOST = "0.0.0.0"PORT = 5010# ############### database config ###################
# db connection uri
# example:
#      Redis: redis://:password@ip:port/db
#      Ssdb:  ssdb://:password@ip:port
DB_CONN = 'redis://:@x.x.x.x:x/0'# proxy table name
TABLE_NAME = 'use_proxy'# ###### config the proxy fetch function ######
PROXY_FETCHER = ["freeProxy01","freeProxy02","freeProxy03","freeProxy04","freeProxy05","freeProxy06","freeProxy07","freeProxy08","freeProxy09","freeProxy10","freeProxy11"
]# ############# proxy validator #################
# 代理验证目标网站
HTTP_URL = "http://httpbin.org"HTTPS_URL = "https://www.qq.com"# 代理验证时超时时间
VERIFY_TIMEOUT = 10# 近PROXY_CHECK_COUNT次校验中允许的最大失败次数,超过则剔除代理
MAX_FAIL_COUNT = 0# 近PROXY_CHECK_COUNT次校验中允许的最大失败率,超过则剔除代理
# MAX_FAIL_RATE = 0.1# proxyCheck时代理数量少于POOL_SIZE_MIN触发抓取
POOL_SIZE_MIN = 30# ############# proxy attributes #################
# 是否启用代理地域属性
PROXY_REGION = True# ############# scheduler config ################## Set the timezone for the scheduler forcely (optional)
# If it is running on a VM, and
#   "ValueError: Timezone offset does not match system offset"
#   was raised during scheduling.
# Please uncomment the following line and set a timezone for the scheduler.
# Otherwise it will detect the timezone from the system automatically.TIMEZONE = "Asia/Shanghai"

这段代码是一个配置文件,用于配置一个代理池项目。它定义了一些全局变量和配置选项,用于控制代理池的行为和功能。

代码中的注释已经提供了一些基本的说明,下面是对代码功能的详细解释:

  1. BANNER:定义了一个用于显示的横幅字符串,通常在命令行界面或日志中打印出来,用于标识程序的名称和版本等信息。
  2. VERSION:定义了代理池软件的版本号。
  3. HOSTPORT:定义了代理池服务监听的地址和端口号。
  4. DB_CONN:定义了数据库连接的URI,这里使用的是Redis数据库作为存储代理信息的后端。
  5. TABLE_NAME:定义了代理信息存储的表名。
  6. PROXY_FETCHER:定义了一个列表,包含了用于获取代理的函数名称。这些函数将被周期性地调用,以获取新的代理并加入到代理池中。
  7. HTTP_URLHTTPS_URL:定义了用于验证代理可用性的目标网站URL。
  8. VERIFY_TIMEOUT:定义了代理验证时的超时时间,单位是秒。
  9. MAX_FAIL_COUNTMAX_FAIL_RATE:这两个变量用于控制代理的剔除策略。如果一个代理在近期的校验中失败次数超过MAX_FAIL_COUNT,或者失败率超过MAX_FAIL_RATE,则会被剔除出代理池。
# 当进行代理检查时,如果代理数量少于POOL_SIZE_MIN,则触发抓取新的代理。
POOL_SIZE_MIN = 30

上述代码定义了一个常量POOL_SIZE_MIN,其值为30。这意味着,当系统检测到可用代理的数量少于30时,它会触发一个机制去抓取或寻找更多的代理,以确保系统中始终有足够数量的代理。


# 是否启用代理地域属性
PROXY_REGION = True

这里定义了一个布尔值常量PROXY_REGION,并设置其为True。这意味着系统在处理代理时会考虑代理的地域属性。例如,某些任务可能只希望使用特定地区的代理。


# ############# scheduler config #################

这是一个注释,指示以下的配置是与“调度器”相关的。


# Set the timezone for the scheduler forcely (optional)
# If it is running on a VM, and
#   "ValueError: Timezone offset does not match system offset"
#   was raised during scheduling.
# Please uncomment the following line and set a timezone for the scheduler.
# Otherwise it will detect the timezone from the system automatically.

上述代码是一个注释,解释了以下配置的目的:为调度器强制设置时区(可选)。如果调度器在虚拟机上运行并且在调度期间引发了“ValueError: Timezone offset does not match system offset”这样的错误,则应该取消注释下面的行并为调度器设置一个时区。如果不进行这样的设置,调度器将自动从系统中检测时区。

TIMEZONE = "Asia/Shanghai"

此行定义了一个常量TIMEZONE并为其赋值了"Asia/Shanghai"。这意味着调度器的时区被设置为上海时区。如果上述注释中描述的问题出现,这将是一个有效的解决方案。如果不需要强制设置时区,这行代码可以被注释掉。

相关文章:

2023-简单点-proxyPool源码(二)-setting.py

proxyPool setting.py setting.py # -*- coding: utf-8 -*- """ -------------------------------------------------File Name&#xff1a; setting.pyDescription : 配置文件Author : JHaodate&#xff1a; 2019/2/15 ---------------…...

中级工程师评审条件:如何成为一名合格的中级工程师

作为一名工程师&#xff0c;不仅需要具备扎实的技术基础和实践能力&#xff0c;还需要通过评审来证明自己的能力水平。在成为一名合格的中级工程师之前&#xff0c;你需要满足一系列评审条件。甘建二今天将详细介绍中级工程师评审的要求和标准&#xff0c;帮助你成为更优秀的工…...

StarRocks上新,“One Data、All Analytics”还有多远?

K.K在《未来十二大趋势》中认为&#xff0c;我们正处于一个数据流动的时代。商业乃数据之商业。归根结底&#xff0c;你在处理的都是数据。 的确&#xff0c;当数据成为新的核心生产要素之际&#xff0c;数据分析就犹如最重要的生产工具之一&#xff0c;决定着企业在数字化时代…...

Java8实战-总结50

Java8实战-总结50 CompletableFuture&#xff1a;组合式异步编程对多个异步任务进行流水线操作对 Future 和 CompletableFuture 的回顾 响应 CompletableFuture 的 completion 事件对最佳价格查询器应用的优化 CompletableFuture&#xff1a;组合式异步编程 对多个异步任务进行…...

kicad源代码研究:参照Candence实现工程管理

创建工程&#xff1a; 创建工程和打开工程触发事件&#xff1a; KICAD_MANAGER_ACTIONS::newProjectKICAD_MANAGER_ACTIONS::openProjectnewProject和OpenProject事件响应具体实现&#xff0c;在KICAD_MANAGER_CONTROL类中实现&#xff1a; Go( &KICAD_MANAGER_CONTROL::…...

Asp.net core WebApi 配置自定义swaggerUI和中文注释,Jwt Bearer配置

1.创建asp.net core webApi项目 默认会引入swagger的Nuget包 <PackageReference Include"Swashbuckle.AspNetCore" Version"6.2.3" />2.配置基本信息和中文注释&#xff08;默认是没有中文注释的&#xff09; 2.1创建一个新的controller using Micr…...

DNS 查询结果逐行解释

文章目录 FlagsADDITIONALANSWER SECTIONQuery timeSERVERWHENDNS PortAuthoritative answer权威DNS服务器Non-authoritative answer推荐阅读 DNS查询后&#xff0c;查询结果一般如下&#xff1a; mirrorUbuntu22:~$ dig www.baidu.com; <<>> DiG 9.18.12-0ubuntu0…...

ArcGIS制作广场游客聚集状态及密度图

文章目录 一、加载实验数据二、平均最近邻法介绍1. 平均最近邻工具2. 广场游客聚集状态3. 结果分析三、游客密度制图一、加载实验数据 二、平均最近邻法介绍 1. 平均最近邻工具 “平均最近邻”工具将返回五个值:“平均观测距离”、“预期平均距离”、“最近邻指数”、z 得分和…...

同旺科技 USB TO SPI / I2C --- 调试W5500_TCP Client接收数据

所需设备&#xff1a; 内附链接 1、USB转SPI_I2C适配器(专业版); 首先&#xff0c;连接W5500模块与同旺科技USB TO SPI / I2C适配器&#xff0c;如下图&#xff1a; 发送数据6个字节的数据&#xff1a;0x11,0x22,0x33,0x44,0x55,0x66 在专业版调试软件中编辑指令&#xff0c…...

MQ - KAFKA 高级篇

kafak是一个分布式流处理平台,提供消息持久化,基于发布-订阅的方式的消息中间件&#xff0c;同时通过消费端配置相同的groupId支持点对点通信。 ##适用场景&#xff1a; 构造实时流数据管道,用于系统或应用之间可靠的消息传输.数据采集及处理,例如连接到一个数据库系统,捕捉表…...

如何快速查找最后(最右侧)隐藏列

实例需求&#xff1a;定位工作表中的最后&#xff08;最右侧&#xff09;隐藏列&#xff0c;处理其中的数据。 通常思路是从工作表最后列开始&#xff0c;倒序检查每个列&#xff0c;直到找到隐藏列或者检查完毕&#xff08;无隐藏列&#xff09;。 Sub LastColumn()Dim visR…...

精密制造ERP系统包含哪些模块?精密制造ERP软件是做什么的

不同种类的精密制造成品有区别化的制造工序、工艺流转、品质标准、生产成本、营销策略等&#xff0c;而多工厂、多仓库、多车间、多部门协同问题却是不少精密制造企业遇到的管理难题。 有些产品结构较为复杂&#xff0c;制造工序繁多&#xff0c;关联业务多&#xff0c;传统的…...

TypeScript 的高级技巧

1 — 高级类型&#xff08;Advanced Types&#xff09; 使用 TypeScript 的高级类型&#xff0c;如映射类型和条件类型&#xff0c;可以基于现有类型构建新类型。通过使用这些类型&#xff0c;您可以在强类型系统中更改和操作类型&#xff0c;从而使您的代码具有更大的灵活性和…...

TiDB 7.x 源码编译之 TiDB Server 篇,及新特性详解

本文将介绍如何编译 TiDB Server 源码。以及阐释 TiDB Server 7.x 的部分新特性。 TiDB v7.5.0 LTS 计划于 2023 年 11 月正式 Release&#xff0c;目前代码虽未冻结&#xff0c;但已经可以看到 Alpha 版本的 Code 了&#xff0c;本文代码将以 v7.5.0-alpha 为基准。 TiDB Se…...

Hadoop实验putty文件

&#x1f525;博客主页&#xff1a; A_SHOWY&#x1f3a5;系列专栏&#xff1a;力扣刷题总结录 数据结构 云计算 数字图像处理 很多朋友反馈做hadoop实验中的putty找不到Connection-SSH-Auth路径下找不到Private key for authentication私有密钥&#xff0c;无法将转…...

研发人员绩效考核难题及解决措施

研发部门是技术型企业的核心人员&#xff0c;研发人员的设计贯穿着产品实现过程包括后续的持续改进。倘若研发人员的设计源头得以保障&#xff0c;那么后续工作包括研发人员的绩效考核&#xff0c;相对简单。接下来华恒智信便根据多年来从事的人力资源相关的服务经验为您对于研…...

Inference with C# BERT NLP Deep Learning and ONNX Runtime

目录 效果 测试一 测试二 测试三 模型信息 项目 代码 下载 Inference with C# BERT NLP Deep Learning and ONNX Runtime 效果 测试一 Context &#xff1a;Bob is walking through the woods collecting blueberries and strawberries to make a pie. Question …...

6、原型模式(Prototype Pattern,不常用)

原型模式指通过调用原型实例的Clone方法或其他手段来创建对象。 原型模式属于创建型设计模式&#xff0c;它以当前对象为原型&#xff08;蓝本&#xff09;来创建另一个新的对象&#xff0c;而无须知道创建的细节。原型模式在Java中通常使用Clone技术实现&#xff0c;在JavaSc…...

图像万物分割——Segment Anything算法解析与模型推理

一、概述 在视觉任务中&#xff0c;图像分割任务是一个很广泛的领域&#xff0c;应用于交互式分割&#xff0c;边缘检测&#xff0c;超像素化&#xff0c;感兴趣目标生成&#xff0c;前景分割&#xff0c;语义分割&#xff0c;实例分割&#xff0c;泛视分割等。 交互式分割&am…...

Redis实战篇笔记(最终篇)

Redis实战篇笔记&#xff08;七&#xff09; 文章目录 Redis实战篇笔记&#xff08;七&#xff09;前言达人探店发布和查看探店笔记点赞点赞排行榜 好友关注关注和取关共同关注关注推送关注推荐的实现 总结 前言 本系列文章是Redis实战篇笔记的最后一篇&#xff0c;那么到这里…...

Android Wi-Fi 连接失败日志分析

1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分&#xff1a; 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析&#xff1a; CTR…...

论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)

HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

最新SpringBoot+SpringCloud+Nacos微服务框架分享

文章目录 前言一、服务规划二、架构核心1.cloud的pom2.gateway的异常handler3.gateway的filter4、admin的pom5、admin的登录核心 三、code-helper分享总结 前言 最近有个活蛮赶的&#xff0c;根据Excel列的需求预估的工时直接打骨折&#xff0c;不要问我为什么&#xff0c;主要…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

Spring Boot+Neo4j知识图谱实战:3步搭建智能关系网络!

一、引言 在数据驱动的背景下&#xff0c;知识图谱凭借其高效的信息组织能力&#xff0c;正逐步成为各行业应用的关键技术。本文聚焦 Spring Boot与Neo4j图数据库的技术结合&#xff0c;探讨知识图谱开发的实现细节&#xff0c;帮助读者掌握该技术栈在实际项目中的落地方法。 …...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...