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