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 є лише оболонкою, а скрипти створюють корисний контент.

Куки, згода, контекст сесії та доступу для скрапінгу
03

Стан і контекст доступу

Визначте, чи впливають куки, згода, межі входу, пагінація або той самий стан відвідувача на відповідь.

Використовуйте сесії та заголовки, коли безперервність змінює дані, які ви отримуєте.

Регіональні варіації контенту в різних країнах і маршрутах
04

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

Перевірте, чи змінюють країна, мова, валюта, інвентар, SERP, реклама або репутація маршруту результат.

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

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

Де знаходиться цільове поле?

Знайдіть, чи існує поле в сирому HTML, відрендереному DOM, виклику API, структурованих даних, файлі або пізнішому стані взаємодії.

Що змінює відповідь?

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

Який контекст потрібен?

Позначте будь-яку залежність від згоди, локалі, куків, заголовків, межі аутентифікації, пагінації, фільтрів або попередніх запитів.

Як виглядає невдача?

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

Складіть карту поведінки цілі перед зміною контролів

Режим отримання

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

Контекст запиту

Вимоги до стану визначають, чи потрібно додавати заголовки, куки, сесії, обробку згоди або стабільний профіль відвідувача.

Вибір маршруту

Гео та репутаційні дані визначають, чи достатньо стандартного маршруту або виправданий маршрут країни/преміум.

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

Відомі стани невдачі стають перевірками для повторних спроб, ескалації, перевірки якості та визначення, коли легший профіль все ще є повним.

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

Сформуйте наступний запит на основі доказів відповіді

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

CFG
Налаштування

Виправте погані введення перед витрачанням на повторні спроби

Відсутні URL, недійсні ключі, непідтримувані формати та несумісні параметри файлів - це робота з конфігурацією, а не з доставкою.

missing_urlнедійсний_ключ
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 завершує сторінку.

Важчий профіль; використовуйте його лише тоді, коли вихід браузера змінює результат.

Кілька запитів з збереженням куків та стану відвідувача
03

Станова сесія

Використовуйте сесії, коли куки, згода, локалізація або пагінація змінюють відповідь.

Важчий профіль стану; зберігайте його лише тоді, коли важлива безперервність.

Маршрутизація запитів через гео та маршрути вищої якості
04

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

Використовуйте преміум маршрутизацію або гео лише тоді, коли походження, країна, репутація або регіональний контент змінюють результат.

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

Що робить відновлення помилок важчим

Більше роботи з інфраструктурою

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

Більша невизначеність цілі

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

Більше стану для збереження

Cookies, сесії, згода та багатосторінкові потоки додають рухомі частини, яких немає у простому безстатевому запиті.

Більше доказів для повернення

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

Як зберегти запуски відновлення передбачуваними

Вибірка перед масштабуванням

Спочатку протестуйте невелику вибірку URL та групуйте цілі за найменшим профілем, який повертає повні дані.

Не рендерити за замовчуванням

Перевірте сирий HTML перед увімкненням рендерингу. Багато публічних сторінок вже містять необхідні вам дані.

Ескалація за доказами

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

Вимірюйте корисні результати

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

Часті запитання про помилки

Загальні питання про невдалі запити на скрапінг

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

Швидкі відповіді
SETUP

Виправте спочатку

Деякі помилки є проблемами конфігурації запиту або облікового запису.

Які помилки слід зупинити негайно?

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

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

Валідація запобігає витратам кредитів командами на запити, які не можуть бути успішними через неправильну форму запиту.

RETRY

Повторюйте обережно

Тимчасові збої потребують обмежень і відступу.

Які збої можна повторити?

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

Чому не повторювати все?

Повторні запити не виправляють погані вхідні дані, непідтримувані формати, заблоковану поведінку цільового об'єкта, порожні оболонки додатків або надмірні захоплення.

ESCALATE

Змінюйте контролі

Додавайте важчі контролі, коли докази доводять, що вони допомагають.

Коли слід увімкнути рендеринг?

Увімкніть рендеринг, коли вихідний HTML не містить корисного публічного контенту, а рендерена сторінка містить.

Коли слід змінювати маршрутизацію?

Змінюйте маршрутизацію, коли статус, регіон, поведінка доступу або докази повторної доставки показують, що стандартний шлях недостатній.

OUTPUT

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

Формат відповіді може змінити режим помилки.

Чи може формат виходу викликати помилки?

Так. Скриншоти, PDF, JSON, текст, Markdown та HTML мають різні проблеми з розміром, рендерингом та подальшою валідацією.

Що робити, якщо відповідь занадто велика?

Розглядайте надмірні відповіді спочатку як проблему обсягу. Зменшіть захоплення або виберіть легший вихід перед масштабуванням того ж профілю запиту.