易语言资源网 - 做最全的易语言资源下载社区
精易论坛授权登录

[更新v5.3][鱼刺零件]代理智能提取+详细例程 功能强大 通用   [复制链接]

    2020-12-04 08:29:05
    模块控件源码
    易语言资源网
    6438 次浏览
    来源链接


代理智能提取模块v5.3

设计者:鱼刺


功能强大 通用 易上手 你所想到的我都做到了


免责声明:莫要将本模块用于违法或商业用途,否则照成的一切后果自负。与作者(鱼刺)无关。

--------------------------------------------

更新说明:

v5.3(2020-11-26)

*增加新函数 置代理过滤重复回调() 用于扩展支持过滤重复代理

*新增了两个例程`扩展例程_过滤重复代理_初级.e`,`扩展例程_过滤重复代理_高级.e`

*略微提升了提取和验证速度(优化了一下解析和链接零件的参数)

*修改了版权说明文本(比如移除了QQ)


v5.2.3(2020-07-09)

*修正了使用函数修改配置项时 一些留空参数失效的问题


v5.2(2020-06-19)

*修正了因修改了代理提取阀值而导致二次创建代理提取架构后无法正常提取的问题

*创建代理提取架构时多了一个参数 可控制创建后是否立即进行提取(详细说明请看参数注释)


v5.1(2020-06-09)

*换了一批零件 降低了内存占用

*支持了设置最多5个提取地址

*优化了代理提取触发判定


v5.0(2019-08-21)

*解决了多次频繁创建销毁代理提取模块后 出现一直卡在销毁上的问题

*增加了两个新的函数`测试提取()` `测试验证()`  '//详情请查看`例程_测试代理提取验证.e`

*新增了一个例程`例程_测试代理提取验证.e`

*修正了部分情况下使用函数`置代理提取参数` `置代理验证参数` 调整配置无效的问题


v4.8(2019-08-03)

*新增配置参数`验证自定义请求方法`用于控制验证时用GET还是POST方式或者其他方式

*新增配置参数`验证最大并发线程数`用于控制验证代理时的最大并发线程数(默认=200 可设置为5-400之间)

*没有什么其他改进和BUG修正

--------------------------------------------

简单使用流程:

1.  (编辑配置)

1.1 编辑运行目录下的`Config_Proxy.ini`填写提取和验证参数并保存

1.2 如果程序目录下没有`Config_Proxy.ini`这个文件 请调用一次`代理智能提取_创建()`会自动生成在运行目录下

1.3 你也可以用代码来配置这些信息 直接调用 `代理智能提取_置代理提取参数()` `代理智能提取_置代理验证参数()` `代理智能提取_置代理生命值()` `代理智能提取_置代理最长存活时间()`


2.  (创建和获取状态)

2.1 在执行工作前调用一次 `代理智能提取_创建()`  (比如: `启动按钮_被单击`)

2.2 你可以搞个时钟/定时器来刷新代理智能提取模块的工作状态

2.3 当你打算结束工作/工作完毕时记得执行 `代理智能提取_销毁()`


3.  (提取代理)

3.1 当你需要用代理时 直接调用`代理智能提取_获取代理()`即可得到一条代理

3.2 没错 你可以在任意环境下调用`代理智能提取_获取代理()` (比如:在并发线程中调用)


4.  (总结)

如果你已修改好了提取配置 你其实可以很轻松的使用它

只要先创建 然后只管在任意线程获取代理即可 代理快不够了会自动提取补充

就像下面这样

创建()

获取代理()'//线程A

获取代理()'//线程B

获取代理()'//线程C

...

销毁()

--------------------------------------------

Config_Proxy.ini 配置说明:

触发补充阀值          : 当前剩余代理小于这个数值会触发自动提取并验证补充代理(0=自动(本次提取数量\5+5且>=5))

提取地址1             : 用于提取代理的API地址

提取地址2             : 支持多个代理提取地址

提取地址3             : 留空为不启用

提取地址4             : 如果设置了多个提取地址 内部是轮流调用

提取地址5             : 目前最多可同时设置5个提取地址

提取分隔符            :  提取后用这个分隔符来分割成多条 默认=\\r\\n(换行符) (本参数也支持正则匹配)

提取是否正则分割      : 是否使用正则匹配 1=使用正则匹配(正则必须包含两个子匹配项 1为地址 2为端口) 0=使用分割文本匹配

提取是否UTF8解码      : 提取代理返回的网页内容是否进行UTF8解码 1=解码 0=不解码(默认)

提取是否禁止重定向    : 是否禁止网页302/301重定向 1=禁止重定向 0=允许重定向(默认)

提取自定义附加协议头  : 提取代理时附加的HTTP协议头 默认=空(默认协议头) 多个协议头请使用 \\r\\n 隔开

提取最小间隔          : 两次提取最小间隔(毫秒) 为了防止提取API接口限制提取频繁冻结 默认=1000(1秒)

----------------

验证地址              : 用于验证代理是否有效的url 比如IP138 又比如百度  |如果想不验证提取的代理直接使用 请设置为:不验证

验证特征              : 验证代理URL返回的内容里存在这个特征 存在既是有效(比如验证地址是(百度) 特征可以是'百度一下')

验证是否UTF8解码      : 验证代理返回的网页内容是否进行UTF8解码 1=解码 0=不解码(默认)

验证是否禁止重定向    : 是否禁止网页302/301重定向 1=禁止重定向 0=允许重定向(默认)

验证自定义附加协议头  : 验证代理时附加的HTTP协议头 默认=空(默认协议头) 多个协议头请使用 \\r\\n 隔开

验证自定义请求方法    : 可以自定义请求方法 比如=GET(默认) 或者=POST

验证最大并发线程数    : 可调整内部最大同时验证并发数 默认=200线程数 可设置(5-400)之间

验证超时              : 验证代理超时 默认=10 (秒)

验证失败重试次数      : 验证失败最大尝试次数 默认=0(次)不再次尝试

代理生命值            : 提取的代理能被获取几次 默认=1 (次)  (比如采集东西的时候就可以设置10-50次)

代理最长存活时间      : 提取的代理最长存活时间 0=不启用(默认) 大于0=启用(秒) 提取的代理过了这个时间后 将不会被提取直接被丢弃

--------------------------------------------



点我下载 (已有 622 次下载)

引用模块


源码文件名 模块文件名
例程_测试代理提取验证.e
鱼刺类.爱偷懒.ec
例程_简单例子.e
鱼刺类.爱偷懒.ec
例程_简单例子Ex.e
鱼刺类.爱偷懒.ec
扩展例程_过滤重复代理_初级.e
sqlite3.ec
鱼刺类.爱偷懒.ec
扩展例程_过滤重复代理_高级.e
sqlite3.ec
鱼刺类.爱偷懒.ec
鱼刺类.HTTP.ec
鱼刺类.多线程6.ec
例程模版1 - 通用代理注册x4.6.e
鱼刺类.HTTP.ec
鱼刺类.爱偷懒.ec
鱼刺类.多线程6.ec


引用支持库


源码文件名 支持库文件名 支持库标识
例程_测试代理提取验证.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
例程_简单例子.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
多线程支持库 2.0 5F99C1642A2F4e03850721B4F5D7C3F8
例程_简单例子Ex.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
多线程支持库 2.0 5F99C1642A2F4e03850721B4F5D7C3F8
zySqlite3.ec.模块源码.e 系统核心支持库 5.0 d09f2340818511d396f6aaf844c7e325
扩展例程_过滤重复代理_初级.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
多线程支持库 2.0 5F99C1642A2F4e03850721B4F5D7C3F8
扩展例程_过滤重复代理_高级.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325
例程模版1 - 通用代理注册x4.6.e 系统核心支持库 5.3 d09f2340818511d396f6aaf844c7e325


[错误报告]   上一篇:再来一份,窗口响应式处理...     下一篇:实体店客户采集工具...