Прошло чуть больше 8 месяцев с предыдущего поста(Мой проект по сбору проксей) про мой сборщик проксей и чуть больше 13 с первой реализации, написанной на коленке за вечер. За это время я многое переписал
- теперь он полностью асинхронный(peewee_async вместо SQLAlchemy)
- сильно улучшилась производительность(сейчас на vds'ке за 3 евро 16к проксей)
- появилась документация и гайд по созданию коллекторов https://proxy-py.readthedocs.io/en/latest/
- больше тестов
- несколько новых коллекторов
Поставить звёздочку и сделать пулл реквест можно тут https://github.com/DevAlone/proxy_py
Чтоб потестить, есть докер контейнер:
docker create -p 55555:55555 --name proxy_py proxypy/proxy_py:v2.1
docker start proxy_py
После запуска можно делать запросы к API вот так:
http POST http://127.0.0.1:55555/api/v1/ model=proxy method=get
Так же есть веб интерфейс:
http://localhost:55555/i/get/proxy/
http://localhost:55555/i/get/proxy_count_item/
http://localhost:55555/i/get/collector_state/
http://localhost:55555/i/get/number_of_proxies_to_process/ (показывает, сколько проксей ждут проверки, зелёный график должен быть около нуля)
За год количество IP адресов, когда либо побывавших в моей программе(т.е. на них работал публичный прокси) - 218013
Планы на будущее(отсортировано по важности):
- peer to peer, чтобы инстансы proxy_py общались между собой и обменивались информацией, при этом нужен показатель доверия одного сервера другому, чем больше доверяем, тем меньше проверяем и список узлов, которым доверяем на 100% для создания своего кластера. Т.к. производительности одной машины уже не хватает. Мб кто-то знает годные либы?
- более удобный API(фильтр по полям, выбор проксей вокруг географической точки, стандартная сортировка должна выдавать не самые быстрые, а достаточно стабильные и при этом быстрые)
- нормальный веб интерфейс(мб на ангуляре)
- больше статистики(для каждого коллектора и каждого прокси)
- клиентская библиотека для питона