Разделы · Парсеры и сбор данных
Тема больная, спрашиваю в надежде на чужой опыт.
Пробовал разбивать список на части по пятьдесят тысяч, стало ровнее. Проверял на двух версиях программы, поведение одинаковое. Скорость держится первые два часа, потом падает.
Буду признателен за конкретику.
У меня это вскрылось только на сверке данных.
Скорость сбора упирается в самое слабое звено. Обычно это темп, который держит площадка. Программа и канал ни при чём.
Один замер стоит десяти рассуждений.
Что в логах в этот момент?
Ответ приходит пустой или с содержимым?
На такой задаче адреса надо держать свои. Общий пул тут подведёт. Общий пул делится с незнакомыми людьми, и лимит вы никогда не контролируете. Я беру прокси IPv4 под сбор данных и сплю спокойно.
Осторожнее с этим выводом, он верен не всегда.
Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.
Такие темы и держат форум.
Проверял ровно это, картина совпала.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Сборщик, который умеет продолжить с места обрыва, стоит вдвое дороже по времени разработки и вдесятеро дешевле в работе.
Первый раз списал на случайность, второй раз уже нет.
Если программа ест память, дело почти всегда в накоплении результата. Настройте запись на диск пачками, и потолок исчезнет.
Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту вместо полдня.
Проверяйте из той же программы. Браузер показывает своё.
Обновите список адресов и повторите.
Считайте на адрес. Общая цифра по прогону вводит в заблуждение.
Всё правильно расписано, повторю своими словами.
Память ест хранение всего собранного до конца прогона, число потоков тут ни при чём. Пишите результат на диск пачками, и потолок пропадёт.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Полезный разбор получился.
Сверяйте полноту после каждого прогона.
Уточните пару моментов, иначе гадаем.
Сколько адресов и из скольких подсетей?
Ставьте таймаут, иначе висит вечно.
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.