Map + scrape в одной связке: JSON-схема Firecrawl и выгрузка цен в Google Таблицу
Map + scrape в одной связке: JSON-схема Firecrawl и выгрузка цен в Google Таблицу

Смотреть урок

Дополнительные файлы из урока

На прошлом уроке map набрал нам кучу страниц, но на выходе были только url, title и description. В этом уроке доводим сценарий до рабочего состояния: разбиваем массив ссылок через Split Out, прогоняем каждую страницу через вторую ноду HTTP Request уже в режиме scrape и просим Firecrawl вернуть не текст, а строго заданный json. Подробно разбираю тело запроса: formats с типом json, prompt на английском, вложенная schema с типом object, её properties, которые мы придумываем сами, и поле required. Дальше данные уходят в ноду Google Sheets, и в таблице появляются название, цена и наличие. В конце специально упираюсь в ограничение бесплатного тарифа Firecrawl по числу запросов в минуту и показываю, как выглядит эта ошибка. Урок для тех, кто уже умеет делать map и scrape по отдельности и хочет собрать из них один сценарий.

Оглавление с таймкодами:

0:00–0:32 Повторяем map с прошлого урока на том же biggeek. В теле запроса url каталога продуктов, search «iPhone 17», лимит 10 вместо прежних 20 (почему уменьшил — объясню ближе к концу), sitemap в режиме skip и ignoreQueryParameters, чтобы не тащить цветовые параметры.

0:32–1:04 Что пришло и чего не хватает. Прибежали девять страничек, у каждой есть url, title и description. Само по себе неплохо, но нам нужна таблица: название айфона, его цена и есть он в наличии или нет. Map дал только набор страниц, для таблицы этого недостаточно.

1:04–1:37 Нода Split Out. На вход приходит массив links, внутри него элементы с разными свойствами, после сплита получаются отдельные позиции — по одной на каждую ссылку. Просто разбиваем приходящий массив на удобные нам ячейки. По сплиту уже были отдельные уроки и есть документация.

1:37–2:42 Вторая нода HTTP Request, тоже к Firecrawl, но уже на scrape: из приходящих url нужно достать цену и наличие. Credential тот же самый, ничего особенного. В первом поле json идёт url, и туда перетаскиванием подставляется url из предыдущей ноды —…

🔒

Этот материал доступен участникам Клуба. Войдите или оформите доступ, чтобы читать целиком, открывать видео и комментировать.

Войти Вступить / купить доступ