Разделы · Парсеры и сбор данных
Проверил очевидное, осталось непонятное.
Детали такие.
Ставил 200 потоков, потом снижал до 80, разница по времени невелика. Данные собираются, но при сверке не хватает примерно пятнадцати процентов записей. Три машины, на каждой своя часть списка.
Буду признателен за конкретику.
Один момент упущен, и он важный.
Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.
$ ./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
Это следствие, а причина лежит глубже.
Не гоняйте один список сразу на всех машинах. Разбейте его заранее, иначе получите дубли и потери на стыках.
Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту вместо полдня.
Поправлю цифру, остальное верно.
Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.
Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.
Наступал на это в прошлом сезоне.
Память ест хранение всего собранного до конца прогона, число потоков тут ни при чём. Пишите результат на диск пачками, и потолок пропадёт.
Разбор годный, спорить не буду.
Пробовали снизить темп вдвое?
Это началось после какого-то изменения?
Держите запас, впритык не работает.
Сколько адресов и какой темп при этом стоит?
Помню, как искал причину два дня подряд.
Разметку разбирайте по устойчивым признакам. Классы оформления для этого не годятся. Классы меняют при каждом обновлении, смысловые атрибуты живут дольше.
Сборщик, который умеет продолжить с места обрыва, стоит вдвое дороже по времени разработки и вдесятеро дешевле в работе.
Набор новых участников сейчас приостановлен. Читать форум можно без учётной записи, все темы открыты.
Когда набор откроют, объявление появится в разделе с короткими вопросами.
Форма работает в браузере и никуда ничего не отправляет.