extract в обходе — тот же самый разбор, что и в Fetch: вы описываете словами, какие поля нужны, и получаете готовый объект вместо разметки. Разница одна — описание задаётся один раз на задание, а применяется к каждой пройденной странице. Это и есть обычный сценарий обхода. Сотня карточек товара нужна не разметкой: нужна таблица «название, цена, наличие», и собирать её из ста документов руками — работа, которую разбор делает сам. Цена: страница обхода с разбором стоит 5 кредитов — разметка 1, обход 1, разбор 3. Арифметика целиком — на странице Цена обхода.
Каждая страница приходит в своей обычной форме — ответ Fetch целиком, — поэтому parsed лежит там же, где вы привыкли его брать:

Что стоит помнить

Разбор в обходе ведёт себя ровно так же, как в Fetch, — со всеми оговорками той страницы:
  • поля описываются фразой, до 25 полей, описание до 200 символов;
  • ненайденное поле приходит null, а не пропадает из объекта;
  • неудавшийся разбор не списывается: parsed: null, причина в extract_note, а в счёте за эту страницу остаются только разметка и обход — 2 кредита вместо 5;
  • ошибка в описании полей — 400 invalid_request до старта задания, то есть бесплатно.
Разбирать листинги вместе с карточками смысла обычно нет: на странице каталога двадцать товаров, а поля описаны для одного. Если карточки достаются по follow, поля описывайте под карточку — листинг всё равно вернёт то, что сумеет, но полезное лежит глубже.
Страницу читает языковая модель, а не набор правил, и на сотне страниц это заметнее, чем на одной: часть полей неизбежно придёт пустой или в другой форме. Там, где нужна ровно та величина ровно из того блока, берите подрезку блоками в fetch.select — селектор либо совпал, либо нет, и это видно по matched каждой страницы.

Дальше

Разбор страницы в структуру

Как описывать поля, что гарантируется и что нет.

Цена обхода

Сколько стоит сотня страниц с разбором.