ProxyPool
ProxyPool copied to clipboard
An Efficient ProxyPool with Getter, Tester and Server
一点建议
proxypool的运行位置,一定要在censor内网才是可靠的结果,但又会导致subscribe catch失败,这是一个相互制约的问题。 为此建议如下: 1、抓取独立设计,并且支持临时的proxy方式,独立于proxy check,支持触发式或者定期抓取。 2、proxy check方式采用灵活策略可定制,而不是固定的crontab方式,只能定期。比如:当连续多少个上一次有效的地址失败(random检测),然后启动全check。 这两个功能完成,才会有一定的生命力。目前的功能,只能说不好用。
`docker-compose.yml` ```yml services: httpbin_server: image: kennethreitz/httpbin container_name: httpbin_server ports: - "30008:80" restart: always ```
**Describe the bug** A clear and concise description of what the bug is. **To Reproduce** Steps to reproduce the behavior: 1. Go to '...' 2. Click on '....' 3. Scroll...
1. crawler 中的爬取任务改用协程并发完成,由于异步方式,无法用 logger 记录当前正在爬取的网页了 2. data5u.py 中重写的爬取方法也做了相应修改 3. 原 tester 中,测试每个 proxy 都创建了一个 aiohttp.ClientSession,这有点浪费没有复用 session 的连接池,所以我增加了一个 main 方法用一个 session 处理了所有的代理测试。
先标记一下,谁有时间谁做。 我如果这几天有时间我也会做
自带 正向代理服务器么 ?
不算bug,建议: 1.在项目setting.py文件中,看到声明了LOG_DIR日志存储路径参数,但未使用。 应新建出...\project\ProxyPool\logs文件夹,并在配置文件中修改: logger.add(env.str('LOG_RUNTIME_FILE', 'runtime.log'), level='DEBUG', rotation='1 week', retention='20 days') logger.add(env.str('LOG_ERROR_FILE', 'error.log'), level='ERROR', rotation='1 week') 修改为: logger.add(env.str('LOG_RUNTIME_FILE', f'{LOG_DIR}/runtime.log'), level='DEBUG', rotation='1 week', retention='20 days') logger.add(env.str('LOG_ERROR_FILE', f'{LOG_DIR}/error.log'), level='ERROR', rotation='1 week') 2.setting.py文件中ENABLE_TESTER, ENABLE_GETTER,...
2022-09-20T09:29:04.833573+00:00 app[release.1044]: Task exception was never retrieved 2022-09-20T09:29:04.833577+00:00 app[release.1044]: future: 2022-09-20T09:29:04.833577+00:00 app[release.1044]: Traceback (most recent call last): 2022-09-20T09:29:04.833578+00:00 app[release.1044]: File "/app/proxypool/processors/tester.py", line 51, in test 2022-09-20T09:29:04.833578+00:00 app[release.1044]: resp_json = await...