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