Как подгрузить данные JSON по api (парсинг остатков товаров)

Тема в разделе "Подгрузка данных, которых нет в коде WEB-документа", создана пользователем Amigo1985, 11 сен 2020.

Метки:
  1. Amigo1985

    Amigo1985 New Member Пользователи

    Регистрация:
    1 июн 2020
    Сообщения:
    2
    Город:
    Санкт-Петербург
    Есть сайт Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Возьмем к примеру товар Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме!
    Все данные передаются в GET запросе, кроме наличия.
    Данные об остатках подгружаются POST запросом JSON, но через api
    Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! - ссылка POST запроса
    {"productId":"15633986","productSource":"E-COMMERCE","regionId":"506"} - данные POST запроса
    Сделать по инструкции Ссылки недоступны для гостей, зарегистрируйтесь или авторизуйтесь на форуме! не получается, т.к. нет прямой ссылки на товар.
    Помогите, пожалуйста, куда копать?
    Если пробовать через WBApp то при наведении курсора на "Посмотреть наличие в магазинах" и нажатии F2 выдает пустой attributes, если пробовать через браузер определить XPath иконки открытия остатков <div id="rightMark" class="icon-arrow"> получаем //*[@id="rightMark"], вставляем в XPath WBApp , нажимаем проверить, выдает "элемент с таким XPath не найден!"
    Еще раз прошу помощи, ткните куда копать, или может какую статью прочитать?
     

    Вложения:

    • 1.jpg
      1.jpg
      Размер файла:
      185,2 КБ
      Просмотров:
      2
    • 2.jpg
      2.jpg
      Размер файла:
      259,8 КБ
      Просмотров:
      1
  2. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    13.009
    Город:
    Сочи
    Здравствуйте.

    Помимо POST данных на этом сайте для подгрузки остатков необходимо еще передать HTTP-заголовок x-api-key.

    2020-09-11_21-36-14.png
     

    Вложения:

  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    13.009
    Город:
    Сочи
    Поиск-замена для получения данных из JSON
    Код:
    [REPLACE([JSON]{start}{/start}{end}{/end}{container}stores{/container}|[MARKER]{res}[/MARKER]
    [MARKER]{get}[/MARKER]|{multiget}
    {"storeName":"{skip}"{skip}"stock":{skip},{skip}}|{skip(1)}: {skip(3)})]<PHP_SCRIPT=https://api.leroymerlin.ru/aem_api/v1/getProductAvailabilityInfo[UTF-8]>
    <HEADERS>[CUSTOMHEADERS]</HEADERS>
    <REPLACE></REPLACE>
    {"productId":"<CD_GRAN_3!>","productSource":"E-COMMERCE","regionId":"506"}
    </PHP_SCRIPT>[/REPLACE]
     
  4. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    13.009
    Город:
    Сочи
  5. Amigo1985

    Amigo1985 New Member Пользователи

    Регистрация:
    1 июн 2020
    Сообщения:
    2
    Город:
    Санкт-Петербург
    Спасибо, большое!!!! Все получилось!
    Честно не ожидал, что так быстро ответят!!!
    И спасибо за подробную инструкцию!!!
     
    Root нравится это.

Поделиться этой страницей