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