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