Получи случайную криптовалюту за регистрацию!

Опять парсим WILDBERRIES: внутреннее API Друзья, привет, пока | Google Таблицы

Опять парсим WILDBERRIES: внутреннее API

Друзья, привет, показываем вам "пока еще рабочий" способ достать данные по товарам из закромов сайта WB.

У нас в 21 в 22 годах были примеры по парсингу данных из веб-страниц карточек товара, сейчас они уже работают частично из-за того, что WB часто меняет вёрстку своих страниц.

Сегодня расскажем и покажем, как обратиться в внутреннему открытому API WB (используется при наполнении страниц данными).

Запоминайте адрес: https://card.wb.ru/cards/detail?nm=

К нему добавляем номеклатуры товара через точку с запятой, например https://card.wb.ru/cards/detail?nm=140428476;139447779

Если перейдете из браузера по ссылке – увидите объект, в нём будут все аргументы по товару, которые можно достать: цены, скидки, название, размеры, цвета.

Чтобы работать с этим всем из Таблицы нам нужно написать скрипт, который обратиться по ссылке, распарсит содержимое, превратит его в массив строки / столбцы и вставит в нашу таблицу.

Показываем простой код, доставать будем не всё, а только название товара, цену со скидкой, рейтинг и количество отзывов и вставлять результат в Таблицу:

function myFunction() {
const url = 'https://card.wb.ru/cards/detail?nm=140428476;139447779'
var response = UrlFetchApp.fetch(url);
response = JSON.parse(response).data.products;
var arr = [];
response.forEach(f => {
arr.push([f.name, f.salePriceU / 1000, f.rating, f.feedbacks])
});

const sheet = SpreadsheetApp.getActive().getSheetByName('Лист1');
sheet.getRange(1, 1, arr.length, arr[0].length).setValues(arr);
};