ScraperFlyAPI веб-данных для AI

request control

Обработка ошибок API для скрапинга, которая приводит к четким следующим действиям

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

Восстановление на основе доказательств

Исправьте причину, прежде чем повторять запрос

Ошибки при скрапинге становятся дорогими, когда каждый сбой получает один и тот же ответ: повторите попытку. Плохой URL, недействительный ключ, целевой 403, лимит 429, тайм-аут рендеринга, пустая HTML-оболочка и слишком большой ответ — это разные проблемы с разными решениями.

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

диагностикаповторить с задержкойэскалировать с доказательствами
Команда рассматривает категории ошибок API скрапинга и следующие действия на панели управления

На какие вопросы должна отвечать обработка ошибок API скрапинга?

Хорошая обработка ошибок делает больше, чем просто сообщает о сбое запроса. Она должна ответить, возникла ли проблема из-за запроса, аккаунта, цели, сетевого пути, рендеринга браузера, выбранного вывода или последующего парсера. Эта классификация определяет, будет ли следующим действием исправление, повторная попытка, ожидание, эскалация или меньший захват.

Вот почему надежный рабочий процесс скрапинга должен регистрировать как видимую ошибку, так и окружающие доказательства. Ответ 200 с крошечным HTML-телом может быть менее полезным, чем четкий 403. Успешный скриншот страницы с ошибкой все еще является сбоем цели. Тайм-аут PDF может быть проблемой области вывода, а не проблемой прокси.

Практическое замечание: рассматривайте каждую ошибку как решение маршрутизации для следующего запроса, а не как команду повторить тот же профиль.

Какие ошибки скрапинга следует исправить, а не повторять?

Некоторые сбои должны немедленно остановить рабочий процесс, потому что другой идентичный запрос не может быть успешным. Отсутствующие URL, неправильно сформированные URL, неподдерживаемые форматы, недействительные ключи API, приостановленные ключи, несовместимые параметры файлов и невозможные комбинации вывода — это проблемы конфигурации. Им нужна проверка и лучший отклик, а не задержка.

Ошибки с приоритетом исправления — это то, где дисциплина API экономит деньги. Если запрос недействителен, трата кредитов на рендеринг, премиум-маршрутизацию или повторные попытки только скрывает настоящую проблему. Проверьте форму запроса заранее, затем отправляйте производственные партии только после того, как базовый запрос будет правильным.

Группа ошибокОбщий сигналЛучшее следующее действие
Проверка вводаОтсутствующий URL, недействительный URL, неподдерживаемый параметрИсправьте запрос перед повторной попыткой
АутентификацияОтсутствующий, недействительный, отключенный или приостановленный ключ APIИсправьте конфигурацию аккаунта или ключа
Выбор выводаНеподдерживаемый формат, несовместимый параметр скриншота или PDFВыберите поддерживаемый формат ответа
Проблема областиСлишком большой ответ или захват файлаУменьшите захват или используйте более легкий вывод

Какие сбои заслуживают контролируемых повторных попыток?

Временные сбои могут быть повторены, но политика повторных попыток должна быть ограниченной. Тайм-ауты сети, временные 5xx ответы и выбранные лимиты 429 могут восстановиться после задержки. Повторение их немедленно с большей конкурентоспособностью обычно делает рабочий процесс менее стабильным.

Сильная политика повторных попыток фиксирует причину, ждет перед следующей попыткой, ограничивает общее количество повторных попыток и изменяет запрос только тогда, когда доказательства поддерживают изменение. Например, ошибка 403 на стороне цели может потребовать анализа контекста доступа, а не общего цикла повторных попыток. Пустой HTML-ответ может потребовать сравнения сырого и рендеренного перед любым изменением маршрутизации.

СбойПозиция повторной попыткиДоказательства для проверки
Тайм-аутПовторить с ограничением и задержкойДлительность, стабильность цели, время рендеринга, начало ответа
5xx ответ от вышестоящегоПовторить, если временный паттерн правдоподобенИстория статусов, конечный URL, размер тела ответа
Лимит 429Замедлитесь перед увеличением нагрузкиКонкуренция, ритм запросов, лимиты аккаунта, терпимость цели
Ответ 403 от целиДиагностировать перед повторной попыткойЗаголовки, регион, куки, рендеринг, поведение маршрута

Когда следует эскалировать рендеринг, ожидания или маршрутизацию?

Эскалация должна следовать за доказательствами. Включите рендеринг JavaScript, когда полезный публичный контент отсутствует в исходном HTML и появляется после выполнения в браузере. Добавьте ожидания рендеринга, когда браузер открывает страницу, но контент загружается позже. Рассмотрите заголовки, куки, сессии, целевую страну или премиум-маршрутизацию, когда доказательства ответа указывают на контекст, непрерывность, географию или поведение доступа на стороне цели.

Ключ в том, чтобы не превращать каждую цель в самый тяжелый запрос. Используйте рендеринг для страниц, которые требуют выполнения в браузере, просматривайте доказательства тайм-аута рендеринга, когда работа браузера терпит неудачу, и проверяйте случаи слишком большого ответа перед масштабированием того же профиля.

Практическое замечание: эскалируйте один контроль за раз, чтобы команда узнала, что на самом деле исправило ответ.

Как ScraperFly делает решения о восстановлении практичными?

ScraperFly помогает разработчикам строить восстановление вокруг наблюдаемых доказательств запроса: статус, конечный URL, тип контента, размер ответа, формат вывода, поведение рендеринга и профиль маршрутизации. Это упрощает поддержание простых целей легкими, одновременно предоставляя более сложным целям чистый путь к рендерингу, сессиям, заголовкам, целевой стране, премиум-маршрутизации, скриншотам или PDF, когда это оправдано.

Используйте API Builder, чтобы воспроизвести целевой запрос, сравнить форматы вывода и протестировать следующий контроль перед тем, как интегрировать политику повторных попыток в код. Затем используйте цены и калькулятор стоимости кредитов API веб-скрапинга, чтобы сохранить эксперименты по восстановлению в соответствии с реальной нагрузкой.

Диагностика сбоя

Сопоставьте путь восстановления с поведением цели

Обработка ошибок становится проще, когда команды знают, является ли цель статической, насыщенной JavaScript, региональной, состоящей, ограниченной по скорости, слишком большой, заблокированной или возвращающей временную ошибку вышестоящего уровня. ScraperFly помогает превратить эти доказательства в следующий полезный запрос, а не в громкий повтор.

Сырой HTML-ответ, сопоставленный с видимыми данными страницы
01

Доступность сырого HTML

Проверьте, присутствуют ли необходимые вам поля уже в первом HTML-ответе.

Лучший первый тест для простых страниц, статей, документов, списков и деталей продуктов.

Сравнение до и после рендеринга JavaScript
02

Зависимость от JavaScript

Сравните сырой HTML с отрендеренным DOM или скриншотом перед включением рендеринга браузера.

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

Cookies, согласие, контекст сессии и доступа для скрапинга
03

Состояние и контекст доступа

Определите, влияют ли cookies, согласие, границы входа, пагинация или состояние одного и того же посетителя на ответ.

Используйте сессии и заголовки, когда непрерывность изменяет данные, которые вы получаете.

Региональные вариации контента по странам и маршрутам
04

Гео/вариация контента

Проверьте, изменяет ли страна, язык, валюта, запасы, SERP, реклама или репутация маршрута результат.

Используйте гео- или премиум-маршрутизацию только тогда, когда цель подтверждает, что ответ варьируется в зависимости от маршрута.

Проверки перед выбором стратегии восстановления

Где находится целевое поле?

Узнайте, существует ли поле в сыром HTML, отрендеренном DOM, вызове API, структурированных данных, файле или состоянии взаимодействия позже.

Что изменяет ответ?

Выберите несколько URL-адресов и сравните статус, конечный URL, длину контента, перенаправления, пустые состояния и различия в видимых результатах.

Какой контекст необходим?

Отметьте любую зависимость от согласия, локали, файлов cookie, заголовков, границ аутентификации, пагинации, фильтров или предыдущих запросов.

Как выглядит неудача?

Определите сигналы для заблокированных, частичных, устаревших, перенаправленных, пустых, истекших или несоответствующих регионам ответов перед масштабированием.

Составьте карту поведения цели перед изменением контролей

Режим получения

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

Контекст запроса

Требования состояния определяют, нужно ли добавлять заголовки, файлы cookie, сессии, обработку согласия или стабильный профиль посетителя.

Выбор маршрута

Гео и репутационные данные определяют, достаточно ли стандартного маршрута или оправдан ли маршрут по стране/премиум.

Правила валидации

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

Конструктор запросов для восстановления

Создайте следующий запрос на основе доказательств ответа

Используйте статус, конечный URL, размер ответа, тип контента, категорию ошибки и доказательства вывода, чтобы решить, нуждается ли следующий запуск в проверке, рендеринге, ожиданиях, заголовках, сессиях, целевой стране, премиум-маршрутизации или меньшем объеме захвата.

CFG
Настройка

Исправьте плохие входные данные перед тратой на повторные попытки

Отсутствующие URL, недействительные ключи, неподдерживаемые форматы и несовместимые параметры файлов — это работа по конфигурации, а не работа по доставке.

missing_urlinvalid_key
NET
Доставка

Обрабатывайте сбои в целевых системах и сети по-разному

Тайм-ауты, ответы 5xx, перенаправления, лимиты скорости и заблокированные страницы указывают на разные пути восстановления.

timeout403429
OUT
Вывод

Проверьте форму ответа перед изменением кода парсера

Пустой HTML, слишком большие ответы, PDF-файлы, скриншоты и отрендеренный вывод требуют доказательств перед изменением правил парсера.

пустой htmlpdfскриншот

Сигналы, которые помогают восстанавливать ошибки парсинга

status

HTTP-результат или категория ошибки ScraperFly.

final_url

URL после перенаправлений и обработки цели.

size

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

format

Форма вывода, где произошла ошибка.

пример cURL

Генерируйте Markdown с той же формой запроса, которую вы можете использовать в производстве

curl "https://scraperfly.com/api/v1?url=https%3A%2F%2Fexample.com&format=markdown" \
  -H "apikey: YOUR_API_KEY"

Контроль затрат на восстановление

Сохраняйте повторные попытки доступными, устраняя причину, а не повторяя тот же запрос

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

Легкий HTML-запрос, возвращающий простой ответ
01

Базовый запрос

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

Самый легкий профиль запроса; сохраняйте его, когда ответ завершен.

Рендеринг JavaScript, создающий полный DOM
02

Рендеринг

Используйте рендеринг, когда сырой HTML является оболочкой, а JavaScript завершает страницу.

Более тяжелый профиль; используйте его только когда вывод браузера изменяет результат.

Несколько запросов с сохранением cookies и состояния посетителя
03

Состояние сессии

Используйте сессии, когда cookies, согласие, локализация или пагинация изменяют ответ.

Более тяжелый профиль состояния; сохраняйте его только когда важна непрерывность.

Маршрутизация запросов через гео и более качественные маршруты
04

Премиум маршрутизация и гео

Используйте премиум маршрутизацию или гео только когда источник, страна, репутация или региональный контент изменяют результат.

Самый тяжелый профиль маршрутизации; применяйте его только к целям, которые доказывают, что они в этом нуждаются.

Что делает восстановление после ошибок более тяжелым

Больше инфраструктурной работы

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

Больше неопределенности цели

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

Больше состояния для сохранения

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

Больше доказательств для возврата

Скриншоты, PDF-файлы, отрендеренный вывод и более богатые артефакты ответа полезны, но они тяжелее, чем простой HTML.

Как сделать запуски восстановления предсказуемыми

Протестируйте перед масштабированием

Сначала протестируйте небольшой набор URL и группируйте цели по самому легкому профилю, который возвращает полные данные.

Не рендерить по умолчанию

Проверьте сырой HTML перед включением рендеринга. Многие публичные страницы уже содержат необходимые вам данные.

Эскалируйте по фактам

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

Измеряйте полезные результаты

Оптимизируйте на основе действительных записей, а не объема сырых запросов. Более легкий профиль лучше всего, только когда он остается полным.

Часто задаваемые вопросы об ошибках

Распространенные вопросы о неудачных запросах на скрапинг

Быстрые ответы для команд, оценивающих поведение веб-скрапинга API: форматы запросов, рендеринг JavaScript, маршрутизация прокси, кредиты, файлы, безопасность и выставление счетов.

Быстрые ответы
SETUP

Сначала исправьте

Некоторые ошибки связаны с проблемами конфигурации запроса или аккаунта.

Какие ошибки следует немедленно остановить?

Неправильные URL, отсутствующие URL, неподдерживаемые форматы, недействительные ключи и несовместимые параметры вывода должны быть исправлены перед отправкой нового запроса.

Почему валидация важна перед масштабированием?

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

RETRY

Повторяйте осторожно

Временные сбои требуют ограничений и отката.

Какие сбои можно повторить?

Тайм-ауты, выбранные ответы 5xx от сервера и некоторые ограничения по скорости могут быть повторены с ограниченным откатом и четким логированием.

Почему не повторять все?

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

ESCALATE

Измените меры контроля

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

Когда следует включать рендеринг?

Включите рендеринг, когда исходный HTML не содержит полезного публичного контента, а отрендеренная страница содержит.

Когда следует изменять маршрутизацию?

Измените маршрутизацию, когда статус, регион, поведение доступа или доказательства повторной доставки показывают, что стандартный путь недостаточен.

OUTPUT

Проверьте форму

Формат ответа может изменить режим ошибки.

Может ли формат вывода вызвать ошибки?

Да. Скриншоты, PDF, JSON, текст, Markdown и HTML имеют разные проблемы с размером, рендерингом и последующей проверкой.

Что если ответ слишком большой?

Сначала рассматривайте слишком большие ответы как проблему объема. Уменьшите захват или выберите более легкий вывод перед масштабированием того же профиля запроса.