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