позиции · сбор данных · отчёты
реклама IPrazon Network: приватные прокси IPv4 и SOCKS5, около 12 000 адресов, безлимитный трафик, тест до 2 часов

Разделы · Парсеры и сбор данных

Сборщик на Node против питона по скорости на 100 тысячах адресов

14 ответов · 3 430 просмотров
знак участника Емельян Ц.
Емельян Ц.Знаток
  • сообщений 2 130
  • на форуме 3 мес
Парсеры и сбор данныхгорячая

Делюсь разбором и заодно спрашиваю, кто как обходит.

На маленьком объёме всё работает, разница начинается после ста тысяч. Каталог на 400 тысяч адресов, память на машине 32 гигабайта.

$ ./sbor --potokov 120 --spisok chast-01.txt --proksi pool.txt
обработано: 48 210 / 50 000
пустых ответов: 1 842

Кто как это обходит?

знак участника podset
podsetВетеран
  • сообщений 3 480
  • на форуме 1 мес
полезный ответ
Емельян Ц. писал: Сборщик на Node против питона по скорости на…

Полгода назад ловил то же самое.

Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.

знак участника Ефим Гладков
Ефим ГладковУчастник
  • сообщений 850
  • на форуме 9 мес

На другой машине воспроизводится?

знак участника Мельник И.
Мельник И.Знаток
  • сообщений 1 655
  • на форуме 3 мес
Емельян Ц. писал: Сборщик на Node против питона по скорости на…

Тут легко перепутать два разных момента.

Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.

Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.

Тема нужная, подписался.

знак участника logi_i_grafiki
logi_i_grafikiУчастник
  • сообщений 895
  • на форуме 9 мес

Долго держал старую схему, пока не упёрся.

Большие каталоги не надо гонять одним куском. Разбейте на части по пятьдесят тысяч, каждую с отдельным состоянием, и падение одной части перестанет ронять весь прогон.

знак участника Шамиль Н.
Шамиль Н.Участник
  • сообщений 1 135
  • на форуме 6 мес

Проверял на трёх проектах подряд, картина устойчивая.

Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.

Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.

знак участника Погодин
ПогодинУчастник
  • сообщений 942
  • на форуме 6 мес
Емельян Ц. писал: Сборщик на Node против питона по скорости на…

Сколько адресов и какой темп при этом стоит?

знак участника proxyled
proxyledЗнаток
  • сообщений 1 620
  • на форуме 6 мес

Пришёл к этому не сразу, сначала сделал ошибку.

Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.

Тема нужная, подписался.

знак участника Русакова Е.
Русакова Е.Новичок
  • сообщений 255
  • на форуме 1 года
Емельян Ц. писал: Сборщик на Node против питона по скорости на…

Всё верно написали выше, добавлю от себя пару деталей.

Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.

Тема нужная, подписался.

знак участника polnyy_obhod
polnyy_obhodУчастник
  • сообщений 1 450
  • на форуме 5 мес

Считайте по темпу, всё остальное вторично.

знак участника vydacha_live
vydacha_liveЗнаток
  • сообщений 1 975
  • на форуме 4 мес

Уменьшите потоки вдвое и замерьте заново.

знак участника Ольга Мятлева
Ольга МятлеваУчастник
  • сообщений 700
  • на форуме 10 мес

Всё верно написали выше, добавлю от себя пару деталей.

Потери записей чаще всего идут из-за коротких ответов, которые программа считает успешными. Заведите проверку на минимальный размер ответа и на наличие обязательного куска разметки.

знак участника limit_watch
limit_watchЗнаток
  • сообщений 2 560
  • на форуме 2 мес

Считаю так же, и цифры у меня близкие.

Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.

Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.

знак участника setka_ip
setka_ipЗнаток
  • сообщений 2 755
  • на форуме 2 мес
Емельян Ц. писал: Сборщик на Node против питона по скорости на…

Был случай, когда всё сошлось только на третий день разбора.

Если данные отдаются скриптом, обычный сбор их не увидит. Смотрите, откуда страница берёт содержимое: часто рядом есть простой запрос, который отдаёт то же самое в удобном виде.

Перед большим прогоном всегда гоняю пробу на тысяче адресов. Три минуты времени, и сразу видно, где посыплется.

Если поможет, напишите здесь же, пригодится следующим.

знак участника Стрельцов
СтрельцовУчастник
  • сообщений 1 080
  • на форуме 7 мес

Начинал с того же, потом переделал.

Разметка на маркетплейсах меняется регулярно. Держите разбор в одном месте, чтобы правка занимала минуту, а не полдня.

Память ест не число потоков, а хранение всего собранного в памяти до конца прогона. Пишите результат на диск пачками, и потолок пропадёт.

Ответить в темеПодписаться

Рядом в разделе

Сеометр, форум специалистов по поиску и аналитике ПравилаУчастникиО форумеЛента 2026