Как вставить в свой обзор виджет с динамической ценой?

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com
| Обзор | Новости проектов iXBT.com

Я буду делиться с вами интересными лайфхаками по поводу того, как сделать свой пост лучше и интереснее. Буду концентрировать их по тэгу iСоветы

Итак, у нас в блогах есть возможность вставить динамическую цену с Яндекс-маркета. Зачем это нужно? Ну, прежде всего, это удобно. Потому что, если цена на устройство меняется, человек, тем не менее, может увидеть, какая она на этот момент.

Технически это происходит следующим образом — мы запрашиваем ID модели устройства у Яндекса через нашего партнера, а он возвращает нам список цен. К сожалению, мы не можем отсортировать список по цене, это противоречит правилам Яндекс.Маркета, но общее понимание все равно есть. К тому же, можно перейти и посмотреть на реальную цену в магазине. Или, если кликнуть на товар, увидеть все цены в нашем каталоге

Для того, чтобы вставить такую динамическую цену

 

 

в свою статью, нужно сделать два простых шага. 
Шаг 1 взят из руководства для авторов iXBT.com, я очень благодарен за столь подробное руководство Сергея Пикалова. Все расписано очень и очень подробно, но все не так уж и сложно. Просто почитайте внимательно, и будете проходить этот пункт за 15 секунд.

Шаг 1: найти карточку товара на Яндекс.Маркете

По идее, все просто: заходите на сайт Маркета, вбиваете в строку поиска название нужного товара и смотрите на результат.

В идеальном варианте вас сразу перебросит на карточку продукта с характерным дизайном и расположением блоков: сверху — средняя цена, краткие характеристики, фотография; ниже — заголовки режимов отображения (подчеркнуты на скриншоте). Карточка — вообще штука полезная, с богатыми возможностями, но применительно к нашим задачам вам больше не требуется ничего делать: цель достигнута. Теперь надо поднять глаза на адресную строку браузера и скопировать оттуда model id найденного товара. Вам требуется первое большое число в строке, идущее после 

product/
 (по двойному клику ваш браузер должен как раз выделить это число целиком).

Хуже, если движок Маркета не смог однозначно понять по вашему запросу, что́ вам требуется, и честно выдает все результаты. Проблема тут в том, чтобы найти среди результатов именно карточку товара. Поскольку в Яндексе работают обычные люди, нас не должно удивлять, что умственная деградация докатилась и до их разработчиков, в результате чего карточка товара не просто не выделена в списке розничных предложений, но и как можно тщательнее замаскирована под них.

Придется попыхтеть, чтобы вычленить из портянки выдачи то, что нам нужно. Вам помогут выделенные на скриншоте индикаторы: кнопка «Цены» вместо «В магазин» или «В корзину»; диапазон цен вместо конкретного значения (в конкретном магазине), специфические ссылки под характеристиками вместо яркого названия и рейтинга магазина. Да, иногда карточка идет в списке первой, но полагаться на это, к сожалению, нельзя, так что готовьтесь листать список. После опознания карточки жмите почти на любую кнопку/ссылку в этом блоке, чтобы перейти в карточку и там зафиксировать model id (см. выше).

Почему вообще движок может затрудниться с определением вашей цели? Основных вариантов два: или с введенным вами названием существует больше одной модификации товара, или название не совсем соответствует тому, что забито в базу Маркета. Типичный вариант первого случая — смартфон, конкретная модель которого может быть представлена на рынке в нескольких модификациях. Так, по запросу «LG G4» мы получаем множество результатов, включающих как другие модели (LG G4 Stylus, LG G4s, LG G4c), так и пару модификаций собственно LG G4 (типичные различия между модификациями: объем флэш-памяти, количество поддерживаемых SIM-карт, цвет корпуса). Обратите внимание, что не все карточки модификаций вынесены наверх списка: так, карточка LG G4s H734 представлена где-то на 7-й странице выдачи. (Нет, мы не знаем, по какому критерию набирают программистов в Яндекс.)

Вариант «ничего не найдено, но вот смотрите, что́ мы нашли похожего» (или просто «ничего не найдено») обычно возникает, если вы слишком дословно копируете маркетинговое название модели. Например, запрос «Dell UltraSharp U3415W» смутит движок Маркета, а вот по «Dell U3415W» он сразу же выдаст вам искомое. Поскольку в базе Маркета фирменное название серии мониторов Dell «UltraSharp» не значится, вы не просто затрудните себе работу, но вообще не найдете карточку нужного товара, пока не избавитесь от «излишков» в запросе. Так что смело выбрасывайте лишние названия серий, пробуйте отнимать от окончания моделей по одной букве (последними символами в номере модели компьютерных корпусов, например, часто шифруется цвет и наличие/отсутствие окон, а карточка у этого корпуса бывает одна для всех модификаций), а также удаляйте буквы из начала номера модели и даже последние цифры. Это творческий процесс! В случае видеокарт, например, можно смело выкидывать все названия серий и подсерий — Маркет их «не знает». Оставляйте только производителя и чип, смотрите на карточки товаров в выдаче, сравнивайте объем памяти, частоту GPU и фотографию. Кстати, Маркет будет подсказывать, что́ у него есть в базе, если вводить посимвольно название в строке поиска.

Если в результате всех усилий карточка товара так и не отыскалась, ваш квест на этом завершен. У товара может быть пара десятков предложений на Маркете, но до тех, пока админы сервиса не создадут его карточку (они довольно оперативны, так что 20 предложений = хороший шанс на то, что карточка появится в самом ближайшем будущем), мы через API никакую информацию о ценах и предложениях получить не сможем. Это серьезный недостаток метода.

Итак, итогом первого шага должна стать открытая карточка товара на Яндекс.Маркете, откуда вы добываете model id интересующей вас модели.

Шаг 2: вставить цену в свой обзор

Тут все очень просто. Заходите в редактор, нажимаете на маленькую странненькую корзиночку (мы перерисуем, честно), вставляете получившийся номер в открывшееся окошко. Все. 

У вас получится виджет вот такого вида:

 
Он не отображается в редакторе, но отлично виден в предпросмотре.

Не понимаете, о чем вообще идет речь? Попробуйте отключить блокировщики скриптов и рекламы. Все-таки, это скрипт, который дает полезную информацию. И сразу увидите все, что нужно.  
Автор не входит в состав редакции iXBT.com (подробнее »)
Об авторе
Отвечаю за техническую часть блогов ixbt.com
Пишите в личку или на e-mail mp на ixbt.com

3 комментария

mpanius
Я обычно пишу что-то типа «на момент выхода поста минимальная цена в Москве была xxx, актуальные цены смотрите в виджете маркета ниже. 

Добавить комментарий

Сейчас на главной

Новости

Публикации

Ледяные полюса и огненные озера: Ио – мир контрастов под взглядом Juno

Юпитер, исполин нашей Солнечной системы, окружен свитой загадочных спутников. Один из них, Ио, подобен огненному сердцу, бьющемуся в ритме вулканической активности. Недавно космический аппарат...

Обзор ЦАПа Akliam PD5: один из лучших бюджетных ЦАПов

Говоря о направлениях бюджетного звука, я вскользь упомянул, что действительно качественные решения совмещают в себе и техничность, и прекрасную мелодику. Ну, а в качестве примера назвал героя...

Проверил 5 нейросетей для генерации музыки: как звучит нейрогитара и сколько стоит в коммерческих целях?

Говорят, современные нейросети способны на многое — от написания сценариев для фильмов до предсказания биржевых трендов. Но ещё недавно искусственный интеллект считался бездарным и...

Бесшумная механическая клавиатура Zone 51 Garnet: обзор с разборкой

Почти полноразмерная (98%) клавиатура с бесшумными переключателями KTT Peach Silent. Колпачки из PBT пластика выполненные методом двойного литья. Подключение проводное. Имеется RGB подсветка с...

Как эффективно избавиться от сныти на участке

На первый взгляд, сныть может показаться лишь невинным дополнением к вашему дачному участку: с ее сочной зеленью и нежными белыми соцветиями, она словно приглашает пчел на пиршество. Но не стоит...

Почему Франция пыталась ввести 10-ти часовые сутки и что из этого могло получиться?

Все мы привыкли к системе исчисления времени, в основе которой 24 часа, состоящих из 60 минут. Привыкли — ключевое слово! Но когда речь заходит о том, что пора научить ребенка понимать,...