Скрапинг цен на продукты и наличия в Drive Carrefour
Цена на полке, цена за килограмм, действующая акция и наличие товара в конкретном Drive с carrefour.fr. Страницам товаров браузер не нужен; поиску нужен.
Измерено на Crawlbase
92.4% успеха за August 2026. 11.0% успешных вызовов использовали JavaScript-токен, и это страницы поиска и категорий, которые рендерятся на стороне клиента. Страницы товаров не рендерятся так и составляют большую часть объёма.
Вызов
# Product page, no browser curl "https://api.crawlbase.com/?token=YOUR_TOKEN&country=FR&url=https%3A%2F%2Fwww.carrefour.fr%2Fp%2Flait-demi-ecreme-carrefour-3270190002185" # Category page, browser + wait for the grid curl "https://api.crawlbase.com/?token=YOUR_JS_TOKEN&country=FR&page_wait=2500&ajax_wait=true&url=https%3A%2F%2Fwww.carrefour.fr%2Fr%2Fproduits-laitiers-oeufs%2Flait"
from crawlbase import CrawlingAPI api = CrawlingAPI({'token': 'YOUR_TOKEN'}) r = api.get('https://www.carrefour.fr/p/lait-demi-ecreme-carrefour-3270190002185', {'country': 'FR'}) # price, unit price and promo are in the ld+json Product block
const { CrawlingAPI } = require('crawlbase'); const api = new CrawlingAPI({ token: 'YOUR_TOKEN' }); const r = await api.get('https://www.carrefour.fr/p/lait-demi-ecreme-carrefour-3270190002185', { country: 'FR' });
Важные параметры
| Параметр | Значение | Зачем |
|---|---|---|
country | FR | carrefour.fr показывает стену согласия при выходе не из Франции, и блок цены за ней пуст. |
javascript | страницы товаров: не задавать · поиск: JS-токен | Страницы товаров содержат блок ld+json с ценой. Сетки категорий и поиска рендерятся на стороне клиента, и им нужен браузер. |
page_wait / ajax_wait | 2500 · true | С браузером сетка приходит после запроса, который страница отправляет при загрузке. Без ожидания вы получаете пустую сетку. |
cookies | storeId=<drive id> | Задаёт Drive, чьи наличие и цены вам нужны. Без него цены национальные, а наличие пустое. |
Поля, которые вы получаете, из блока ld+json
stringstring (EAN)numberEURstring, per kg or Lstring | nullInStock | OutOfStockstringЧто ломается и как починить
/r/ или /s?q=.Запуск по расписанию
Отслеживание цен по каждому Drive умножает число товаров на число магазинов. Используйте Crawler с одной задачей на пару товар и магазин и читайте из Cloud Storage. 10 000 товаров в 20 Drive это 400 000 кредитов за прогон при двух кредитах за страницу.
Вопросы
Почему доля успешных запросов ниже, чем у других рецептов?
Страницы поиска, запрошенные без браузера, дают сбой. Страницы товаров, запрошенные так, как показывает этот рецепт, работают заметно выше общей цифры по сайту. Следуйте рецепту, и доля успеха подтянется.
Могу ли я получить цены конкретного магазина Carrefour?
Да, передав идентификатор Drive как cookie. Страница поиска магазинов перечисляет идентификаторы по почтовому индексу.