Разделы · Парсеры и сбор данных
Прогон большой, машина сильная, результат всё равно странный.
Кратко по условиям.
Список на 120 тысяч адресов, окно на прогон шесть часов. Пробовал разбивать список на части по пятьдесят тысяч, стало ровнее.
$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt обработано: 48 210 / 50 000 пустых ответов: 1 842
Может, тут вообще другой подход нужен.
Был похожий случай, разбирали неделю.
Состояние прогона держите отдельно от результата. Тогда падение процесса стоит вам минуты вместо всей ночи.
Начните с пробы на тысяче записей.
Мы упирались в то же, пока не поменяли подход.
Скорость упирается в темп, который держит площадка, программа тут ни при чём. Ставить 300 потоков на 20 адресов бессмысленно, отказы съедят весь выигрыш.
Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.
$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt обработано: 48 210 / 50 000 пустых ответов: 1 842
Считайте по темпу, всё остальное вторично.
Проверял это на своей задаче, вывод такой же.
Сайты с обязательным входом требуют аккуратного хранения сессии и своевременного обновления. Хитрости тут лишние.
Перед сменой поставщика адресов сделайте контрольный прогон на одинаковой задаче. Иначе разницу в скорости будете объяснять чем угодно, кроме настоящей причины.
Начните с малого объёма и растите постепенно.
Проверьте, что настройка вообще применилась.
На одном проекте это стоило нам сорванного срока.
Не гоняйте один список сразу на всех машинах. Разбейте его заранее, иначе получите дубли и потери на стыках.
Если программа ест память, дело почти всегда в накоплении результата. Настройте запись на диск пачками, и потолок исчезнет.
Что менялось за последнюю неделю?
Тут стоит разделить два вопроса, их часто путают.
Проверка полноты обязательна. Берите случайные сто записей и сверяйте руками с площадкой, это пятнадцать минут и полная ясность.
Не гоняйте один список сразу на всех машинах. Разбейте его заранее, иначе получите дубли и потери на стыках.
Осторожнее с обобщением, случаи бывают разные.
Разметку разбирайте по устойчивым признакам. Классы оформления для этого не годятся. Классы меняют при каждом обновлении, смысловые атрибуты живут дольше.
$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt обработано: 48 210 / 50 000 пустых ответов: 1 842
Тема нужная, подписался.
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.