Бесконечная прокрутка — главная причина, по которой «просто скопировать» не работает. Вы видите на экране 20 карточек, хотя в выдаче их 600, а остальные появятся, только если долистать до конца. Чтобы собрать такой список, нужно понимать, как он устроен. Разберём четыре варианта, которые встречаются чаще всего, и то, как с каждым работать.
Как это устроено
Бесконечная прокрутка всей страницы
Страница загружает первую порцию элементов. Когда вы приближаетесь к низу, скрипт сайта замечает это (обычно через специальный «невидимый» элемент-маркер в конце списка) и запрашивает следующую порцию с сервера. Новые карточки дописываются в конец, страница становится длиннее, маркер снова уходит вниз.
Что важно для сбора:
- новые элементы появляются не мгновенно — сайт ждёт ответа сервера, иногда показывает «скелетоны» или спиннер;
- конец списка обычно ничем не обозначен: прокрутка просто перестаёт что-то добавлять;
- порция может быть пустой из-за медленной сети, а не потому, что список закончился.
Кнопка «Показать ещё»
Тот же механизм, но вместо автоматической подгрузки — кнопка. Нажали — добавилось ещё 20–50 элементов. Когда элементы кончаются, кнопка исчезает или становится неактивной. Для сбора это даже удобнее: есть явный сигнал конца.
Прокрутка внутри блока
Иногда прокручивается не вся страница, а отдельная панель: список объявлений слева от карты, ленты в веб-приложениях, боковые колонки. Если прокручивать саму страницу, ничего не произойдёт — подгрузку запускает прокрутка конкретного контейнера.
Признак: при прокрутке колёсиком над списком полоса прокрутки появляется у блока, а не у окна браузера.
Виртуализированные списки
Самый неудобный случай. Чтобы страница не тормозила на тысячах элементов, сайт держит в документе только те строки, которые сейчас на экране, плюс небольшой запас. При прокрутке вниз верхние строки удаляются из документа, а их место занимают новые. Визуально список выглядит полным, но в каждый момент «существует» только два-три десятка строк.
Как распознать: если долистать список до конца, а потом скопировать всё (Ctrl+A, Ctrl+C), в буфере окажутся только последние элементы. Часто встречается в таблицах веб-приложений и длинных лентах.
Как собирать в Grabsavo
1. Найдите список
Откройте страницу и нажмите на значок Grabsavo. Расширение подсветит найденные строки тонкими бирюзовыми рамками с номерами. Если подсвечено не то, переключите кандидата или нажмите «Выбрать вручную» и кликните по одной карточке нужного списка.
2. Выберите режим пагинации
| Что вы видите | Режим |
|---|---|
| Новые карточки появляются при прокрутке страницы | Бесконечная прокрутка |
| Кнопка «Показать ещё» / «Загрузить ещё» | Кнопка «Show more» |
| Прокручивается отдельная панель | Прокрутка внутри блока |
Есть адреса вида ?page=2 или /page/2 |
Номера страниц / параметр URL |
Последняя строка таблицы — важный совет. Многие сайты с бесконечной прокруткой всё равно поддерживают обычные адреса страниц: попробуйте вручную добавить ?page=2 к адресу выдачи. Если открылась вторая страница — собирайте по номерам. Это надёжнее прокрутки: каждая страница загружается целиком, и сбор можно продолжить с любого места.
3. Задайте ограничения
- Паузы. По умолчанию Grabsavo ждёт случайные 2–4 секунды между шагами. Для бесконечной прокрутки это ещё и практическая необходимость: сайт должен успеть подгрузить следующую порцию.
- Максимум страниц. Ограничьте сбор, если вам нужны первые 300 результатов, а не все 10 000.
- Остановка. Grabsavo останавливается сам, если дважды подряд не появилось новых строк. Двойная проверка помогает не остановиться раньше времени, если сайт подгружает медленно.
4. Укажите ключевую колонку
При прокрутке одна и та же карточка может попасть в выборку дважды: например, если сайт перерисовал часть списка. Укажите колонку, которая однозначно определяет элемент, — обычно ссылку на карточку или артикул. Дубликаты по ней будут удалены.
5. Проверьте отчёт
После сбора посмотрите отчёт о качестве: сколько страниц прокручено, сколько строк собрано, сколько дубликатов удалено, в каких колонках много пустых значений. Если сайт пишет «Найдено 600», а у вас 240 — значит, что-то остановило подгрузку. Частые причины:
- сайт подгружает медленнее, чем длится пауза: увеличьте задержку;
- выдача на сайте ограничена (некоторые сайты показывают не больше нескольких сотен результатов на один запрос): разбейте поиск фильтрами — по категориям, ценовым диапазонам, регионам — и соберите каждую часть отдельно;
- это виртуализированный список, и строки исчезают из документа раньше, чем попадают в выборку: поищите на сайте вариант с номерами страниц, экспорт или более узкие фильтры.
6. Если браузер закрылся
Долгий сбор может прерваться: обновился браузер, сел ноутбук. Состояние сохраняется — при следующем открытии Grabsavo спросит, продолжить ли с сохранённой страницы.
Как понять, что собрано всё
Прокрутка не даёт явного «конца», поэтому проверка после сбора особенно важна:
- Сравните число. Если сайт пишет «Найдено 312», а в таблице 312 строк после удаления дубликатов — отлично. Если сайт числа не показывает, переходите к следующим пунктам.
- Сверьте последний элемент. Долистайте выдачу вручную до конца и сравните последнюю карточку с последней строкой таблицы.
- Посмотрите на пустые значения. Карточки, которые сайт ещё не успел дорисовать, часто попадают в таблицу с пустыми полями — например, без цены или картинки. Если в отчёте о качестве такие колонки помечены, увеличьте паузу.
- Отсортируйте по дате или номеру, если они есть в данных: пропуск в середине последовательности сразу заметен.
Вежливость
Бесконечная прокрутка создаёт нагрузку на сайт так же, как и переход по страницам: каждая порция — запрос к серверу. Несколько правил:
- Не убирайте паузы. 2–4 секунды — это примерно скорость, с которой листает человек.
- Собирайте только нужное. Ограничение по числу страниц экономит и ваше время, и ресурсы сайта.
- Не запускайте один и тот же сбор в нескольких вкладках.
- Посмотрите правила сайта — пользовательское соглашение и
robots.txt. О том, как к ним относиться, — в статье «Парсинг и закон».
Grabsavo работает в вашем браузере с вашей сессией: он видит ровно то, что видите вы. Прокси, решение капч и обход авторизации или платного доступа он не использует. Если сайт явно ограничивает автоматический доступ, правильнее спросить у владельца сайта про выгрузку или API.
Короткий чек-лист
- Проверьте, нет ли у выдачи адресов с номерами страниц.
- Определите тип: прокрутка страницы, «Показать ещё» или прокрутка блока.
- Оставьте паузы по умолчанию или увеличьте их для медленных сайтов.
- Укажите ключевую колонку для удаления дубликатов.
- Сравните число строк в отчёте с числом результатов на сайте.
Попробуйте
В нашем демо-каталоге есть все варианты из этой статьи: бесконечная прокрутка, кнопка «Показать ещё», прокрутка внутри блока, номера страниц. Это безопасное место, чтобы потренироваться и посмотреть, как работает отчёт о качестве. Установить Grabsavo — /install.