Страница обхода стоит столько же, сколько стоила бы в Fetch, плюс
кредит за то, что адрес нашли за вас.
Арифметика
Дальше — умножение на число вправду пройденных страниц:
Кредит на обход — это цена не за поиск ссылок, а за то, что страница
берётся фоном: заданию нужно место в хранилище, своя очередь и повторный
запуск после перезапуска сервиса. Одна страница через Fetch и одна страница
внутри обхода — разная работа при одинаковом результате.
Сколько проверяют до старта
Вcrawl_metadata приходят два числа, и путать их не стоит:
integer
Во сколько обойдётся обход, если пройдёт все заказанные
pages. Это оценка
сверху — pages_planned умноженное на цену страницы.integer
Сколько списано на самом деле. Растёт по ходу задания и в конце оказывается
не больше
credits_max, а обычно меньше.credits_max.
Если денег на полный обход не хватает, задание не принимается вовсе —
402 out_of_credits, ничего не списано, ничего не запущено.
Так честнее, чем начать и остановиться на середине: обход, прерванный на
шестидесятой странице из двухсот, оставляет вас с бесполезным куском каталога,
за который уже заплачено.
Списывают по факту
Заказали 200 страниц, ссылки кончились на 47-й — заплатите за 47. Отменили на двенадцатой — за двенадцать.pages_planned участвует только в проверке
баланса, в счёт идёт pages_done.
Не списывается:
За страницы, которые не взялись
За страницы, которые не взялись
pages_failed в счёт не идёт. Чужой сайт отдал 502 или не ответил —
результата нет, платить не за что. Обход при этом продолжается.За несостоявшийся разбор
За несостоявшийся разбор
Если
extract не удался на конкретной странице, разбор из её счёта
вычитается: 2 кредита вместо 5, parsed: null, причина в extract_note.
Остальные страницы это не задевает.За ошибку в правиле
За ошибку в правиле
400 invalid_request — негодный селектор, кривое регулярное выражение,
pages вне диапазона, ни одного из follow и next. Проверяется до
старта, стоит ноль.За отказ по правам и по балансу
За отказ по правам и по балансу
403 feature_not_enabled и 402 out_of_credits приходят до старта и
бесплатны — как и везде в API.Обход дешевле или дороже цикла из Fetch?
Дороже на кредит со страницы — и это честная цена вопроса «а какие, собственно, адреса». Сравнение на том же каталоге из 34 страниц:
Если список адресов у вас уже есть — берите Fetch, надбавка вам не за что.
Если адреса лежат на сайте, то цикл из Fetch их не заменит: сначала пришлось
бы забрать листинги, разобрать ссылки, свести дубликаты — то есть написать
обход самому и всё равно заплатить за листинги.
Один запрос в лимитах
Обход целиком — один запрос в частотных пределах: вrpm, в суточном и в
месячном. Двести страниц внутри задания в них не идут.
Так и должно быть: пределы стоят затем, чтобы всплеск обращений не занял всю
мощность сбора, а фоновое задание её и не занимает — оно уступает живым
запросам и ждёт, когда в пуле браузеров появится запас вкладок.
Объём обхода ограничивают две другие вещи: баланс и потолок pages.
Подробности про пределы — на странице Лимиты, весь прайс — на
странице Кредиты и права.
