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"
这段代码是一个配置文件,用于配置一个代理池项目。它定义了一些全局变量和配置选项,用于控制代理池的行为和功能。
代码中的注释已经提供了一些基本的说明,下面是对代码功能的详细解释:
BANNER:定义了一个用于显示的横幅字符串,通常在命令行界面或日志中打印出来,用于标识程序的名称和版本等信息。VERSION:定义了代理池软件的版本号。HOST和PORT:定义了代理池服务监听的地址和端口号。DB_CONN:定义了数据库连接的URI,这里使用的是Redis数据库作为存储代理信息的后端。TABLE_NAME:定义了代理信息存储的表名。PROXY_FETCHER:定义了一个列表,包含了用于获取代理的函数名称。这些函数将被周期性地调用,以获取新的代理并加入到代理池中。HTTP_URL和HTTPS_URL:定义了用于验证代理可用性的目标网站URL。VERIFY_TIMEOUT:定义了代理验证时的超时时间,单位是秒。MAX_FAIL_COUNT和MAX_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: setting.pyDescription : 配置文件Author : JHaodate: 2019/2/15 ---------------…...
中级工程师评审条件:如何成为一名合格的中级工程师
作为一名工程师,不仅需要具备扎实的技术基础和实践能力,还需要通过评审来证明自己的能力水平。在成为一名合格的中级工程师之前,你需要满足一系列评审条件。甘建二今天将详细介绍中级工程师评审的要求和标准,帮助你成为更优秀的工…...
StarRocks上新,“One Data、All Analytics”还有多远?
K.K在《未来十二大趋势》中认为,我们正处于一个数据流动的时代。商业乃数据之商业。归根结底,你在处理的都是数据。 的确,当数据成为新的核心生产要素之际,数据分析就犹如最重要的生产工具之一,决定着企业在数字化时代…...
Java8实战-总结50
Java8实战-总结50 CompletableFuture:组合式异步编程对多个异步任务进行流水线操作对 Future 和 CompletableFuture 的回顾 响应 CompletableFuture 的 completion 事件对最佳价格查询器应用的优化 CompletableFuture:组合式异步编程 对多个异步任务进行…...
kicad源代码研究:参照Candence实现工程管理
创建工程: 创建工程和打开工程触发事件: KICAD_MANAGER_ACTIONS::newProjectKICAD_MANAGER_ACTIONS::openProjectnewProject和OpenProject事件响应具体实现,在KICAD_MANAGER_CONTROL类中实现: 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.配置基本信息和中文注释(默认是没有中文注释的) 2.1创建一个新的controller using Micr…...
DNS 查询结果逐行解释
文章目录 FlagsADDITIONALANSWER SECTIONQuery timeSERVERWHENDNS PortAuthoritative answer权威DNS服务器Non-authoritative answer推荐阅读 DNS查询后,查询结果一般如下: mirrorUbuntu22:~$ dig www.baidu.com; <<>> DiG 9.18.12-0ubuntu0…...
ArcGIS制作广场游客聚集状态及密度图
文章目录 一、加载实验数据二、平均最近邻法介绍1. 平均最近邻工具2. 广场游客聚集状态3. 结果分析三、游客密度制图一、加载实验数据 二、平均最近邻法介绍 1. 平均最近邻工具 “平均最近邻”工具将返回五个值:“平均观测距离”、“预期平均距离”、“最近邻指数”、z 得分和…...
同旺科技 USB TO SPI / I2C --- 调试W5500_TCP Client接收数据
所需设备: 内附链接 1、USB转SPI_I2C适配器(专业版); 首先,连接W5500模块与同旺科技USB TO SPI / I2C适配器,如下图: 发送数据6个字节的数据:0x11,0x22,0x33,0x44,0x55,0x66 在专业版调试软件中编辑指令,…...
MQ - KAFKA 高级篇
kafak是一个分布式流处理平台,提供消息持久化,基于发布-订阅的方式的消息中间件,同时通过消费端配置相同的groupId支持点对点通信。 ##适用场景: 构造实时流数据管道,用于系统或应用之间可靠的消息传输.数据采集及处理,例如连接到一个数据库系统,捕捉表…...
如何快速查找最后(最右侧)隐藏列
实例需求:定位工作表中的最后(最右侧)隐藏列,处理其中的数据。 通常思路是从工作表最后列开始,倒序检查每个列,直到找到隐藏列或者检查完毕(无隐藏列)。 Sub LastColumn()Dim visR…...
精密制造ERP系统包含哪些模块?精密制造ERP软件是做什么的
不同种类的精密制造成品有区别化的制造工序、工艺流转、品质标准、生产成本、营销策略等,而多工厂、多仓库、多车间、多部门协同问题却是不少精密制造企业遇到的管理难题。 有些产品结构较为复杂,制造工序繁多,关联业务多,传统的…...
TypeScript 的高级技巧
1 — 高级类型(Advanced Types) 使用 TypeScript 的高级类型,如映射类型和条件类型,可以基于现有类型构建新类型。通过使用这些类型,您可以在强类型系统中更改和操作类型,从而使您的代码具有更大的灵活性和…...
TiDB 7.x 源码编译之 TiDB Server 篇,及新特性详解
本文将介绍如何编译 TiDB Server 源码。以及阐释 TiDB Server 7.x 的部分新特性。 TiDB v7.5.0 LTS 计划于 2023 年 11 月正式 Release,目前代码虽未冻结,但已经可以看到 Alpha 版本的 Code 了,本文代码将以 v7.5.0-alpha 为基准。 TiDB Se…...
Hadoop实验putty文件
🔥博客主页: A_SHOWY🎥系列专栏:力扣刷题总结录 数据结构 云计算 数字图像处理 很多朋友反馈做hadoop实验中的putty找不到Connection-SSH-Auth路径下找不到Private key for authentication私有密钥,无法将转…...
研发人员绩效考核难题及解决措施
研发部门是技术型企业的核心人员,研发人员的设计贯穿着产品实现过程包括后续的持续改进。倘若研发人员的设计源头得以保障,那么后续工作包括研发人员的绩效考核,相对简单。接下来华恒智信便根据多年来从事的人力资源相关的服务经验为您对于研…...
Inference with C# BERT NLP Deep Learning and ONNX Runtime
目录 效果 测试一 测试二 测试三 模型信息 项目 代码 下载 Inference with C# BERT NLP Deep Learning and ONNX Runtime 效果 测试一 Context :Bob is walking through the woods collecting blueberries and strawberries to make a pie. Question …...
6、原型模式(Prototype Pattern,不常用)
原型模式指通过调用原型实例的Clone方法或其他手段来创建对象。 原型模式属于创建型设计模式,它以当前对象为原型(蓝本)来创建另一个新的对象,而无须知道创建的细节。原型模式在Java中通常使用Clone技术实现,在JavaSc…...
图像万物分割——Segment Anything算法解析与模型推理
一、概述 在视觉任务中,图像分割任务是一个很广泛的领域,应用于交互式分割,边缘检测,超像素化,感兴趣目标生成,前景分割,语义分割,实例分割,泛视分割等。 交互式分割&am…...
Redis实战篇笔记(最终篇)
Redis实战篇笔记(七) 文章目录 Redis实战篇笔记(七)前言达人探店发布和查看探店笔记点赞点赞排行榜 好友关注关注和取关共同关注关注推送关注推荐的实现 总结 前言 本系列文章是Redis实战篇笔记的最后一篇,那么到这里…...
装饰模式(Decorator Pattern)重构java邮件发奖系统实战
前言 现在我们有个如下的需求,设计一个邮件发奖的小系统, 需求 1.数据验证 → 2. 敏感信息加密 → 3. 日志记录 → 4. 实际发送邮件 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其…...
Linux链表操作全解析
Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表?1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...
ssc377d修改flash分区大小
1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
用机器学习破解新能源领域的“弃风”难题
音乐发烧友深有体会,玩音乐的本质就是玩电网。火电声音偏暖,水电偏冷,风电偏空旷。至于太阳能发的电,则略显朦胧和单薄。 不知你是否有感觉,近两年家里的音响声音越来越冷,听起来越来越单薄? —…...
深入浅出深度学习基础:从感知机到全连接神经网络的核心原理与应用
文章目录 前言一、感知机 (Perceptron)1.1 基础介绍1.1.1 感知机是什么?1.1.2 感知机的工作原理 1.2 感知机的简单应用:基本逻辑门1.2.1 逻辑与 (Logic AND)1.2.2 逻辑或 (Logic OR)1.2.3 逻辑与非 (Logic NAND) 1.3 感知机的实现1.3.1 简单实现 (基于阈…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
day36-多路IO复用
一、基本概念 (服务器多客户端模型) 定义:单线程或单进程同时监测若干个文件描述符是否可以执行IO操作的能力 作用:应用程序通常需要处理来自多条事件流中的事件,比如我现在用的电脑,需要同时处理键盘鼠标…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
Linux安全加固:从攻防视角构建系统免疫
Linux安全加固:从攻防视角构建系统免疫 构建坚不可摧的数字堡垒 引言:攻防对抗的新纪元 在日益复杂的网络威胁环境中,Linux系统安全已从被动防御转向主动免疫。2023年全球网络安全报告显示,高级持续性威胁(APT)攻击同比增长65%,平均入侵停留时间缩短至48小时。本章将从…...
