Сканируйте весь веб-сайт с помощью одного запроса API
TL;DR
Вы можете отправить весь обход сайта с одним запросом POST /api/v1/crawl в Nstproxy Crawl. Запрос начинает асинхронную задачу; после этого все равно требуется опрос и получение результатов с пагинацией.
Безопасный полный обход сайта ограничен, а не буквально неограничен. Установите maxDepth, maxPages, включите/исключите URL-шаблоны, обработку запросов, форматы вывода и тайм-аут перед тем, как паук будет следовать по ссылкам.
Ограничения глубины и количества страниц решают разные задачи. Глубина ограничивает количество переходов по ссылкам, которые делает паук; количество страниц ограничивает общую работу, даже когда граф ссылок широк.
Канонизация и ловушки определяют качество данных. Календарные пути, фасетная навигация, параметры отслеживания, перенаправления и дублирующиеся канонические ссылки могут съесть обход еще до того, как будут достигнуты ценные страницы.
Рассматривайте завершение как событие качества набора данных. Проверьте завершенные, ожидающие и неудачные подсчеты; разбивайте каждую страницу результата на страницы; устраняйте дубликаты и проверяйте охват по сравнению с картой сайта или известным набором URL.
«Весь веб-сайт» редко является конечным, чистым списком. Один домен может раскрыть миллионы комбинаций параметров, календарные ссылки, страницы поиска, дубликаты локалей и маршруты JavaScript. Таким образом, полезный обход нуждается в начальном URL и четких границах.
Nstproxy Crawl объединяет обнаружение, получение страниц, рендеринг, извлечение, маршрутизацию прокси, состояние задач и хранение артефактов за одним API. Этот учебник отправляет ограниченную задачу сайта, контролирует объем работ, опрашивает статус, получает каждую страницу результата и проверяет, достаточно ли завершенный набор данных полон для его предполагаемого использования.
Nstproxy Crawl начинается с одного URL, обнаруживает ссылки на том же сайте и обрабатывает подходящие страницы в соответствии с ограничениями в запросе. Отправка возвращает идентификатор задачи, а не удерживает HTTP-соединение открытым, пока весь сайт не будет завершен.
Попробуйте Nstproxy - Начните бесплатный тест сегодня
Фраза «один запрос API» относится к отправке задания. Клиент в производственной среде должен позже вызывать конечные точки статуса и результатов страниц. Этот асинхронный дизайн уместен, поскольку весь сайт может занять больше времени, чем обычный тайм-аут запроса, и может создать набор данных с пагинацией.
Запрашиваемые артефакты страниц, такие как Markdown или HTML
maxDepth
Максимальное расстояние по ссылкам от исходного URL
maxPages
Максимальное количество страниц для обработки
includeUrls
Шаблоны, разрешенные для обхода
excludeUrls
Шаблоны, исключенные из обхода
ignoreQuery
Снижает дубликаты параметров запроса при активации
onlyMainContent
Сосредотачивает извлечение на основном содержимом страницы
timeout
Ограничивает время обработки страниц
Глоссарий Nstproxy определяет механизм обнаружения, в то время как его руководство по скрейпингу против обхода объясняет, почему обнаружение и извлечение являются отдельными операциями внутри одной работы.
Почему обход всего веб-сайта сложен
Полный обход сайта сложен, потому что веб-сайты представляют собой графы, а не каталоги. Паук должен решить, какие обнаруженные URL представляют новый контент, какие являются дубликатами, и какие ведут в бесконечные или малозначимые пространства.
Наиболее распространенные ловушки:
календари с ссылками «следующий месяц», которые никогда не заканчиваются;
фасетные фильтры продуктов, комбинации которых умножаются;
параметры сессии, рефералов, отслеживания и сортировки;
версии для печати и альтернативные мобильные URL;
языковые и региональные зеркала;
цепочки перенаправлений и непоследовательные канонические теги;
клиентские ссылки, которые появляются только после выполнения JavaScript;
мягкие страницы 404, которые возвращают HTTP 200;
крупные файлы и конечные точки, которые не являются HTML страницами.
Правила для роботов и обнаружение карты сайта предоставляют важные сигналы. Протокол исключения роботов стандартизирует поведение robots.txt, а протокол карты сайта определяет общий формат XML списка URL. Ни один из этих источников не дает разрешения на сбор данных; вы также должны уважать условия, границы аутентификации, авторские права, конфиденциальность и применимое законодательство.
Предварительные требования
Вам нужна учетная запись Nstproxy, ключ API Crawl, авторизованный публичный начальный URL и четкое определение необходимого охвата. Определите, нужны ли вам текст страниц, ссылки, HTML, скриншоты или другие поддерживаемые артефакты перед отправкой.
Создайте небольшой план приемки:
ожидаемые семейств URL, такие как /docs/ или /products/;
исключенные семьи, такие как /account/, /cart/, /search/ и календари;
максимальная глубина и бюджет страниц;
ожидаемые языковые правила и правила канонических хостов;
минимальные проверки содержимого для принятых страниц;
политика обновления и удаления для хранилища downstream.
Отправьте одну асинхронную задачу на текущий маршрут сканирования сайта. Тестирование без учетных данных 4 сентября 2026 года вернуло HTTP 401, подтвердив, что /api/v1/crawl работает и требует аутентификации. Запрос ниже соответствует документации, но не мог быть завершен без ключа учетной записи.
Ожидаемое содержимое ответа включает идентификатор задачи и состояние обработки. Не копируйте иллюстративный идентификатор в будущие запросы; всегда используйте точный идентификатор, возвращенный для вашей отправки.
Запрашивайте только форматы, которые вы будете использовать. Markdown подходит для поглощения LLM и RAG, в то время как HTML помогает, когда ваш парсер нуждается в селекторах или семантической разметке. Несколько форматов увеличивают объем артефактов и последующую обработку.
Обзор запуска Crawl от Nstproxy описывает более широкий рабочий процесс продукта, включая обнаружение сайтов и готовые для LLM выводы.
Контроль глубины и объема сканирования
Контролируйте объем, комбинируя глубину, количество страниц, шаблоны путей и нормализацию запросов. Ни одна отдельная настройка не является достаточной.
Выбор maxDepth в зависимости от архитектуры информации
Глубина ноль или один полезна для проверки исходного сайта и немедленной навигации. Хаб документации может потребовать две или три пересадки для достижения страниц по теме. Высокая глубина не гарантирует охвата, если важные страницы доступны только через карты сайта или поиск на JavaScript.
Глубина также зависит от выбранного исходного сайта. Начало со страницы главного домена может потратить пересадки на страницы маркетинга; начало с /docs/ придаёт тому же бюджету глубины большую значимость.
Рассматривайте maxPages как строгий бюджет
Количество страниц предотвращает бесконечное расширение широкого графа ссылок. Установите пробный бюджет ниже ожидаемого корпуса, проверьте смешивание обнаруженных URL, а затем увеличивайте его только когда ценные страницы доминируют.
Если работа достигла maxPages, завершение не означает, что весь предполагаемый сайт был охвачен. Это означает, что ограниченная работа остановилась на установленном пределе.
Используйте правила включения перед правилами исключения
Допустимый список, такой как *example.com/docs/*, легче осмыслить, чем десятки исключений. Добавьте исключения для известных низкоценных поддеревьев внутри разрешенной секции.
Проверьте поведение шаблона на образцах URL перед запуском. Неправильно размещённый слэш или шаблон хоста могут безмолвно исключить каждую страницу или допустить нерелевантные подсайты.
Аккуратно нормализуйте параметры запросов
Включите ignoreQuery, когда параметры не меняют значимого контента, например, значения отслеживания и сортировки. Не отбрасывайте строки запросов, когда они выбирают реальную локализацию, вариант продукта, версию документации или состояние пагинации, которое необходимо для вашего набора данных.
Сравнение URL должно следовать последовательным правилам разбора. Стандарт URL WHATWG документирует современное поведение разбора URL; избегайте произвольного разделения строк для хостов, путей и запросов.
Запросите статус сканирования
Запросите состояние задания с возвращённым идентификатором задачи. Замените заполнителем ниже ваш реальный идентификатор:
curl--request GET \--url'https://api.nstproxy.com/api/v1/crawl/YOUR_TASK_ID'\--header'x-api-key: YOUR_NSTPROXY_API_KEY'
Используйте ограниченный экспоненциальный бэкофф с джаттером, а не непрерывное опрашивание. Остановитесь на задокументированном терминальном состоянии и установите общий срок в вашем приложении.
Проверьте тело ответа, а не только HTTP 200. Текущая модель Nstproxy может сообщать информацию о неудаче на уровне задачи внутри успешного HTTP содержимого. Записывайте значения total, completed, pending и failed, когда они присутствуют, а также не секретные идентификаторы запросов и задач.
Не пересылайте весь сайт автоматически, потому что несколько страниц не удалось получить. Извлекайте результаты на уровне страниц, классифицируйте неудачи и повторите попытку только для подходящих URL. Неудачи аутентификации, запрещённые цели, ошибки разбора и временные тайм-ауты требуют различных реакций.
Извлеките каждую сканированную страницу
Получите первую страницу результатов после того, как сканирование достигнет использованного состояния:
curl--request GET \--url'https://api.nstproxy.com/api/v1/crawl/YOUR_TASK_ID/pages?limit=50'\--header'x-api-key: YOUR_NSTPROXY_API_KEY'
Если ответ содержит nextCursor, запросите следующую страницу и продолжайте, пока не останется курсора. Остановка после первого ответа API – распространённая причина, по которой завершившееся сканирование, кажется, охватывает только часть сайта.
Большие артефакты могут приходить в виде токенов ссылок, таких как markdownRef или htmlRef. Разрешайте ссылки через задокументированную конечную точку хранения; никогда не создавайте или не изменяйте токены хранения самостоятельно.
Сохраняйте хотя бы запрашиваемый URL, финальный URL, канонический URL при наличии, статус, заголовок, язык, хэш контента, время сканирования и ссылку на вывод. Держите идентичность страницы отдельной от курсоров пагинации, которые являются состоянием передачи, а не идентификаторами документов.
Проверьте охват и качество данных
Успех краулинга заключается в том, чтобы охватить необходимый корпус с приемлемым содержанием страниц, а не только в том, чтобы его статус показывал «завершено». Сравните набор результатов с картой сайта, известным древом навигации или вручную размеченной выборкой.
Вычислить:
ожидаемые обнаруженные URL;
обработанные обнаруженные URL;
страницы с содержательным контентом;
уникальные канонические страницы;
дубликаты и редиректы;
сбои по причинам;
бюджет URL, потребленный каждой семейной дорогой.
Просмотрите стратифицированную выборку из мелких и глубоких путей. Проверьте страницы, зависящие от JavaScript, таблицы, блоки кода, постраничную навигацию, варианты локалей и известные мягкие 404. Если бюджет краулинга доминируется низкоценными путями, ужесточите правила включения перед увеличением maxPages.
В контексте построения против покупки, сравнение открытых веб-краулеров Nstproxy охватывает фреймворки краулеров, которые предлагают больший уровень контроля, но требуют от вас управления расписанием, рендерингом, хранением, прокси и мониторингом.
Обработка Сбоев и Обновлений
Отдельно обрабатывайте ошибки отправки, задачи и сбои качества страниц. Неверный запрос должен провалиться до создания задания. Действительное задание может все еще содержать тайм-ауты для целей, отказ в доступе, сбои парсера или пустой контент. Технически успешная страница может быть отклонена, если она является дубликатом, неправильной локали или экрана согласия.
Для повторяющихся краулингов сохраняйте хеши контента и сравнивайте канонические URL. Повторно обрабатывайте измененные страницы, добавляйте новые страницы и удаляйте удаленные страницы из нижестоящих индексов. Не добавляйте каждую операцию бесконечно.
Используйте более медленный ритм обновления для стабильных архивов и более быстрый для журналов изменений, инвентаризаций или политик. Уважайте заголовки кэширования и целевую емкость, где это уместно. Если источник предоставляет информационные ленты изменений или временные метки модификации, используйте их, чтобы сократить ненужные загрузки.
Ответственный Полный Краулинг Сайта
Доступ к полному сайту должен быть авторизованным и пропорциональным. Не используйте API для обхода аутентификации, платных стен, разрешений или технических средств защиты. Избегайте частных страниц и минимизируйте личные или регулируемые данные.
При принятии пользовательских семян предотвращайте подделку запросов со стороны сервера. Блокируйте локальные, частные и локальные сети, конечные точки метаданных облака, небезопасные схемы, подозрительные порты и редиректы за пределами утвержденного диапазона. Руководство OWASP по SSRF предоставляет практическую модель угрозы.
Храните API-ключи в утвержденном секретном хранилище, никогда в логах или системах управления версиями. Идентификаторы задач и ссылки на хранилище могут предоставить доступ к результатам, поэтому избегайте их раскрытия неавторизованным пользователям.
Контрольный Список Полного Краулинга Сайта
Перед отправкой проверьте семена URL, разрешенные хосты, пути включения, исключения, политику запросов, максимальную глубину, бюджет страниц, форматы вывода и законную авторизацию. Во время выполнения задачи следите за статусом с ограниченным опросом. По завершении страницируйте все результаты, разрешайте необходимые артефакты, дублируйте каноническое содержимое, просматривайте сбои и сравнивайте охват с известным источником.
Цены на краулинг Nstproxy следует пересмотреть наряду с бюджетом страниц и трафиком прокси для выбранного рабочего процесса. Начните с ограниченного пилота и измеряйте стоимость за каждую принятую уникальную страницу.
Одно Отправление, Явные Границы, Подтвержденные Результаты
Один API-запрос может запустить полный рабочий процесс сайта, но хороший краулинг все же зависит от преднамеренных границ и проверки. maxDepth формирует прохождение по ссылкам, maxPages защищает бюджет, шаблоны URL фокусируют обнаружение, а постраничное извлечение результатов превращает задачу в удобный набор данных.
Сначала используйте самый маленький представительный крауль. Как только распределение URL, качество страниц, обработка сбоев и проверки охвата будут правильными, постепенно увеличивайте пределы.
Q: Могу ли я проиндексировать весь веб-сайт с помощью одного запроса к API?
Да. Один POST-запрос может отправить ограниченный обход сайта Nstproxy, но асинхронный рабочий процесс все еще требует последующего опроса статуса и получения пагинированных результатов.
Q: В чем разница между maxDepth и maxPages?
maxDepth ограничивает количество переходов по ссылкам от исходного URL, в то время как maxPages устанавливает предел на общее количество страниц, которые обрабатывает задача, независимо от ширины графа.
Q: Как мне предотвратить следование веб-краулера за бесконечными URL?
Совместите строгий лимит страниц с разрешенными шаблонами путей, известными исключениями, нормализацией запросов, канонической дедупликацией и обходом с низким бюджетом. Календарные и фасетные навигационные пути требуют явных тестов.
Q: Как я могу узнать, был ли проиндексирован весь веб-сайт?
Сравните уникальные принятые результаты с картами сайта или известным инвентарем URL, проверьте ошибки и покрытие путей и убедитесь, что каждая пагинированная страница результата была получена.
Ivy Lin
Sep. 4th 2026
110M+ реальных IP с 99.9% успешных доступов
Средний отклик ~0.5с для задач высокой конкуренции
Всего от $0.1/GB
Мгновенный доступ к премиальным residential, datacenter, IPv6 и ISP пулам.