当前位置: 首页 > 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;那么到这里…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

利用ngx_stream_return_module构建简易 TCP/UDP 响应网关

一、模块概述 ngx_stream_return_module 提供了一个极简的指令&#xff1a; return <value>;在收到客户端连接后&#xff0c;立即将 <value> 写回并关闭连接。<value> 支持内嵌文本和内置变量&#xff08;如 $time_iso8601、$remote_addr 等&#xff09;&a…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)

RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发&#xff0c;后来由Pivotal Software Inc.&#xff08;现为VMware子公司&#xff09;接管。RabbitMQ 是一个开源的消息代理和队列服务器&#xff0c;用 Erlang 语言编写。广泛应用于各种分布…...

C++_哈希表

本篇文章是对C学习的哈希表部分的学习分享 相信一定会对你有所帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、基础概念 1. 哈希核心思想&#xff1a; 哈希函数的作用&#xff1a;通过此函数建立一个Key与存储位置之间的映射关系。理想目标&#xff1a;实现…...

2.3 物理层设备

在这个视频中&#xff0c;我们要学习工作在物理层的两种网络设备&#xff0c;分别是中继器和集线器。首先来看中继器。在计算机网络中两个节点之间&#xff0c;需要通过物理传输媒体或者说物理传输介质进行连接。像同轴电缆、双绞线就是典型的传输介质&#xff0c;假设A节点要给…...

Xcode 16 集成 cocoapods 报错

基于 Xcode 16 新建工程项目&#xff0c;集成 cocoapods 执行 pod init 报错 ### Error RuntimeError - PBXGroup attempted to initialize an object with unknown ISA PBXFileSystemSynchronizedRootGroup from attributes: {"isa">"PBXFileSystemSynchro…...