proxy_pool
proxy_pool copied to clipboard
Python ProxyPool for web spider
时区偏移问题
国外VPS上启动后报错 ValueError: Timezone offset does not match system offset: 0 != 28800. Please, check your config files. 服务器时区已经调整为东8区了,为什么还是不行。。。
dbClient.py中 `elif "MONGODB" == self.db_type: __type = "mongodbClient"` 但对应的文件命名为MongodbClient, 同时所传参数中已经没有name了。
使用Python 3.8, Werkzeug 0.15.3时会提示如下错误: ``` Traceback (most recent call last): File "proxyPool.py", line 19, in from api.proxyApi import runFlask File "/home/louis/wenshu/proxy_pool/api/proxyApi.py", line 27, in app = Flask(__name__) File "/home/louis/wenshu/wenshu/lib/python3.8/site-packages/flask/app.py", line...
两点优化建议
### 优化建议 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+次,极大地增加了爬虫系统的爬取量级。  2. 空等待现象不再复现。
docker 容器运行时候出现 时区不对
lxml使用的4.3.1,通常仓库都没有这个版本,使用pip安装是编译,有很多坑要填.况且很多低功耗CPU的小型设备没这么全的开发环境,编译时间长. .我填过的坑: - wheel安装各种坑 - 缺少python开发包 - 缺少zlib开发包 - pip版本低 就为了这么个库耗费大量时间不值得.在debian/ubuntu的仓库都存在这个包,只是版本对不上,没这么老.debian仓库的版本是4.6.2 ```bash root@T1:~/proxy_pool# apt-cache madison python3-lxml python3-lxml | 4.6.2-1~bpo10+1 | https://mirrors.huaweicloud.com/debian buster-backports/main arm64 Packages ``` 附上在斐讯T1(ARMv8 8核)编译lxml用的时间: ```bash root@T1:~/proxy_pool# time...
Compile failed: command 'gcc' failed with exit status 1 creating tmp cc -I/usr/include/libxml2 -I/usr/include/libxml2 -c /tmp/xmlXPathInit32aqsxyc.c -o tmp/xmlXPathInit32aqsxyc.o /tmp/xmlXPathInit32aqsxyc.c:2:1: warning: return type defaults to 'int' [-Wimplicit-int] 2 | main (int...
如果反爬的技术人员反向利用这个代理池岂不是可以轻而易举的将这些可以的代理IP加入黑名单。。。TOT
没有改过任何代码部分 运行了一下api/proxyApi.py,报错发生异常: ModuleNotFoundError No module named 'util' https://img.chkaja.com/e41578148d3f020e.png