jhao104 / jhao104/proxy_pool

两点优化建议

Open
#512 5 comments 3 reactions 0 assignees View on GitHub
enhancement
Dominant language
Python
Stars
23.7k
Forks
5.4k
PR merge metrics
No merged PRs in 30d

Description

### 优化建议
1. 代理有效性检查逻辑:经过长期的使用过程中观察分析,我认为原始的有效性检查逻辑过于strict,有效代理池内的代理数量仅仅维持在3-5个。由于网络及代理本身具有一定的不稳定性,不希望优质代理在一次检查失败后被清除,我将有效性检查逻辑修改为:`if status or proxy_obj.fail_count / proxy_obj.check_count < 0.1:`,即当本次检查失败时判断失败次数是否小于检查次数的10%(依赖于我在使用过程中实时更新fail_count以及check_count)
2. 代理调度逻辑:在使用过程中发现,当有效代理池为空时,这会导致在下一个原始代理抓取周期内,都将面临无代理可用的情况。我的修改:在代理有效性检查任务执行时,若发现有效代理池为空,立即发起一个新的原始代理抓取任务

### 优化收益
1. 有效代理池内的数量由3-5个增长到**100**个左右,并且大部分代理均稳定抓取了10W+甚至100W+次,极大地增加了爬虫系统的爬取量级。
![image](https://user-images.githubusercontent.com/33890916/96690192-f1b34c80-13b5-11eb-85a7-ad880eaad53a.png)
2. 空等待现象不再复现。

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.