Михаил Сисин Со-основатель облачного сервиса по сбору информации и парсингу сайтов Diggernaut. Работает в области сбора и анализа данных, а также разработки систем искусственного интеллекта и машинного обучения  более десяти лет.

Как собрать пользовательский контент для магазина с небольшим бюджетом

Как собрать пользовательский контент для магазина с небольшим бюджетом

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

Техническая реализация подобного механизма заключается в том, что сервис-агрегатор собирает изображения в сети интернет, например в инстаграм, определяет бренд и модель товара или товаров, изображенных на фотографии, и выдает ее в специальном фиде. Подключить такой сервис к своему интернет-магазину могут себе позволить не все, в основном это делают достаточно крупные мульти- и моно-брендовые магазины.

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

Однако есть и бюджетный вариант. Очень многие бренды и известные интернет-магазины уже являются клиентами подобных агрегаторов и имеют свои фиды с данными о пользовательских фотографиях и соответствующих им продуктов. Поэтому, если вы продаете товары подобных брендов, вы можете отпарсить фиды, обработать полученные данные и использовать их в своем интернет магазине для продажи товаров данного бренда.

Вы скажете что писать парсеры под каждый сайт и бренд, если их сотни, довольно утомительно и займет много времени. Но вам не нужно парсить сайт, вам нужен лишь фид с пользовательским контентом. А фид этот предоставляют ограниченный набор агрегаторов. Поэтому технически, вам нужно иметь лишь один парсер, со стандартной логикой и просто использовать разные URL или параметры для того, чтобы забирать фиды для разных магазинов и брендов.

Одним из таких сервисов является Like2Buy, сервис предоставляемый компанией Curalate. Они обслуживают более 6000 интернет-магазинов и брендов. Все фиды можно нагуглить набрав в поисковой строке “like2buy.curalate.com” и нажав на ссылку “показать все результаты”. Также, для примера, мы приведем ниже несколько магазинов и их ID для использования с нашим бесплатным парсером, которым мы с вами поделимся в этой статье.

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

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

  1. Пройдите по этой ссылке для регистрации в сервисе Diggernaut
  2. После регистрации и подтверждения email адреса войдите в свою учетную запись
  3. Создайте проект с любый именем и описанием, если вы не знаете как, обратитесь к нашей документации
  4. Войдите во вновь созданный проект и создайте в нем диггер с любым именем, если вы не знаете как, обратитесь к нашей документации
  5. Скопируйте в буфер обмена приведенный ниже сценарий диггера и вставьте его в созданный вами диггер, если вы не знаете как, обратитесь к нашей документации
  6. В настройки итератора в сценарии занесите один или несколько (разделенных запятой) ID магазинов из таблицы ниже
  7. Переключите режим работы диггера с Debug на Active, если вы не знаете как, обратитесь к нашей документации
  8. Запустите ваш диггер и дождитесь окончания его работы, если вы не знаете как, обратитесь к нашей документации
  9. Скачайте собранный набор данных в нужном вам формате, если вы не знаете как, обратитесь к нашей документации

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

---
config:
    debug: 2
    agent: Firefox
iterator:
    type: csv
    name: shop
    value: # Сюда поместите ID магазина из таблицы ниже, или несколько ID, разделенных запятой
do:
- walk:
    to: https://like2buy.curalate.com/<%shop%>/
    do:
    - pool_clear: sub
    - find:
        path: html
        do:
        - eval:
            routine: js
            body: '(function() {return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function(e) {var t = 16 * Math.random() | 0, r = "x" === e ? t : 3 & t | 8; return r.toString(16)})})();'
        - variable_set: rid
        - register_set: http://api.curalate.com/v1/like2buy/<%shop%>/products.json?rid=<%rid%>
        - link_add:
            pool: sub
        - walk:
            to: links
            pool: sub
            do:
            - find:
                path: qbookmark
                do:
                - parse
                - register_set: http://api.curalate.com/v1/like2buy/<%shop%>/products.json?qBookmark=<%register%>&rid=<%rid%>
                - link_add:
                    pool: sub
            - find: 
                path: items 
                do: 
                - object_new: item
                - argument_get: shop
                - object_field_set:
                    object: item
                    field: shop
                - find:
                    path: largephotourl
                    slice: 0
                    do:
                    - parse
                    - normalize:
                        routine: url
                    - object_field_set:
                        object: item
                        field: image
                - find: 
                    path: products
                    do: 
                    - parse
                    - object_new: product
                    - find: 
                        path: destinationurl
                        do:
                        - parse
                        - object_field_set:
                            object: product
                            field: url
                    - find: 
                        path: name
                        do:
                        - parse
                        - space_dedupe
                        - trim
                        - object_field_set:
                            object: product
                            field: name
                    - object_save:
                        name: product
                        to: item
                - object_save:
                    name: item

Как результат вы получите датасет с нижеприведенной структурой:

[{
    "item": {
        "image": "https://d28m5bx785ox17.cloudfront.net/v1/img/PPYWso07RgBC_UHzxcrgAO_Wk0twhD3XHvviHlJ7-ZY=/d/l",
        "product": [
            {
                "name": "Marco Faux-Leather Moto Jacket",
                "url": "https://shop.guess.com/en/catalog/view/women/jackets-and-outerwear/view-all/marco-faux-leather-moto-jacket/w74l10r72y1?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&crl8_id=670ce9b5-3465-4372-b0fe-df6a0c71ed4b"
            },
            {
                "name": "CAN: Marco Faux-Leather Moto Jacket",
                "url": "https://www.guess.ca/en/catalog/view/women/jackets-and-outerwear/view-all/marco-faux-leather-moto-jacket/w74l10r72y1?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=w74l10r72y1&crl8_id=670ce9b5-3465-4372-b0fe-df6a0c71ed4b"
            }
        ],
        "shop": "guess"
    }
}
,{
    "item": {
        "image": "https://d28m5bx785ox17.cloudfront.net/v1/img/Wn0kXxTmnzmAy6hTP3_bynEdtv9Ph7Y0M9FOVyLen00=/d/l",
        "product": [
            {
                "name": "US: Silver-Tone Charm Bracelet Box Set",
                "url": "https://shop.guess.com/en/catalog/view/434044G21?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=434044G21&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d"
            },
            {
                "name": "US: Boxed Rose Gold-Tone Charm Bracelet",
                "url": "https://shop.guess.com/en/catalog/view/434042G21?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=434042G21&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d"
            },
            {
                "name": "US: GUESS 1981 Eau De Toilette, 3.4 oz.",
                "url": "https://shop.guess.com/en/catalog/view/accessories/women/fragrance/guess-1981-eau-de-toilette-3-4-oz/32667861000?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=32667861000&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d"
            },
            {
                "name": "US: Metallic Mini Backpack Keychain",
                "url": "https://shop.guess.com/en/catalog/view/17GUP248?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=17GUP248&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d"
            },
            {
                "name": "CAN: Boxed Gold-Tone Stud Earring Set",
                "url": "https://guess.ca/en/Catalog/View/434046GC21/?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=434046GC21&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d#434046GC21"
            },
            {
                "name": "CAN: GUESS 1981 Eau De Toilette, 3.4 oz.",
                "url": "https://www.guess.ca/en/catalog/view/accessories/women/fragrance/guess-1981-eau-de-toilette-3-4-oz/32667861000?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=32667861000&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d"
            },
            {
                "name": "CAN: Metallic Mini Backpack Keychain",
                "url": "https://www.guess.ca/en/Catalog/View/17GUP248/?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=17GUP248&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d#17GUP248"
            },
            {
                "name": "EU: Holiday Delivery",
                "url": "https://www.guess.eu/en/CustomerCare/guaranteed-delivery/?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&crl8_id=a0dd62bd-9024-4224-bcdf-323d6e6e601d"
            }
        ],
        "shop": "guess"
    }
}
,{
    "item": {
        "image": "https://d28m5bx785ox17.cloudfront.net/v1/img/oCSER6z1bD-KgCCgMcbH9Xk9OifDOvwuXgXNwAQmIeI=/d/l",
        "product": [
            {
                "name": "CAN: Lily Faux-Fur Coat",
                "url": "https://www.guess.ca/en/catalog/view/women/jackets-and-outerwear/faux-fur/lily-faux-fur-coat/w74l14w9t70?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&utm_content=w74l14w9t70&crl8_id=9a9df613-d531-4252-a63e-2566d16dedd2"
            },
            {
                "name": "EU: Floral Faux-Fur Coat",
                "url": "https://www.guess.eu/en/catalog/view/women/apparel/coats-and-jackets/floral-faux-fur-coat/w74l14w9t70?color=dpid%3FCMP%3DSMC-INSTAGRAM-LIKETOBUY&crl8_id=9a9df613-d531-4252-a63e-2566d16dedd2"
            }
        ],
        "shop": "guess"
    }
}]

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

<items>
        <candelete>false</candelete>
        <caption_safe>Introducing the next generation of #GUESSConnect Smartwatches ⌚️? Powered by Android Wear (and compatible
                with iOS 9+), our fav feature is swiping through the hundreds of watch faces to pair perfectly
                with whatever you're wearing + the Google Assistant! ➡️ Click the link in our bio to
                discover more #GUESSWatches #LoveGUESS</caption_safe>
        <commentcount>182</commentcount>
        <isfeatured>true</isfeatured>
        <largephotourl>https://d28m5bx785ox17.cloudfront.net/v1/img/9w5j3aXjw6pKZUvbDwEAEB9wXM8RqUpsxHL3wHF0i5A=/d/l</largephotourl>
        <largevideourl>https://scontent.cdninstagram.com/vp/d9e6c226c2cadbf3bc45167c1f24fff9/5A3D679E/t50.2886-16/24383086_151063558867804_2812871925800370176_n.mp4</largevideourl>
        <likecount>13306</likecount>
        <mediumphotourl>https://d28m5bx785ox17.cloudfront.net/v1/img/9w5j3aXjw6pKZUvbDwEAEB9wXM8RqUpsxHL3wHF0i5A=/d/m</mediumphotourl>
        <mediumvideourl>https://scontent.cdninstagram.com/vp/d9e6c226c2cadbf3bc45167c1f24fff9/5A3D679E/t50.2886-16/24383086_151063558867804_2812871925800370176_n.mp4</mediumvideourl>
        <networkidentifier>f1ffd186-3ee1-42ec-b463-135b26139ab7</networkidentifier>
        <networkurl>https://www.instagram.com/p/BcNdy1oluYh/</networkurl>
        <originalfileidandsource>
                <fileid>9w5j3aXjw6pKZUvbDwEAEB9wXM8RqUpsxHL3wHF0i5A=</fileid>
                <osource>instagram</osource>
        </originalfileidandsource>
        <products>
                <croppedthumbnailimageurl>https://d28m5bx785ox17.cloudfront.net/v1/img/dXSPdD25vkxoHZMw7xCH21i3Xm5Bda6gi5-MMFGEBNI=/sc/350x350</croppedthumbnailimageurl>
                <destinationurl>https://shop.guess.com/en/catalog/browse/lifestyle/guess-connect-touch/?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&crl8_id=f1ffd186-3ee1-42ec-b463-135b26139ab7</destinationurl>
                <fileid>dXSPdD25vkxoHZMw7xCH21i3Xm5Bda6gi5-MMFGEBNI=</fileid>
                <id>0</id>
                <imageurl>https://d28m5bx785ox17.cloudfront.net/v1/img/dXSPdD25vkxoHZMw7xCH21i3Xm5Bda6gi5-MMFGEBNI=/d/l</imageurl>
                <name>US: GUESS CONNECT</name>
                <position>1</position>
                <productstyleid>u_2765_00c88d1540a358f1f4cadff87341b5122c7ac0900f11568a7e434923c71aa2f4</productstyleid>
                <sourceimageurl>https://d28m5bx785ox17.cloudfront.net/v1/img/dXSPdD25vkxoHZMw7xCH21i3Xm5Bda6gi5-MMFGEBNI=</sourceimageurl>
        </products>
        <products>
                <croppedthumbnailimageurl>https://d28m5bx785ox17.cloudfront.net/v1/img/j3aEX6aK9BPSma4E8OrRXxT4JjCrcJn7zmhJ_rEFcPA=/sc/350x350</croppedthumbnailimageurl>
                <destinationurl>https://shop.guess.ca/en/catalog/browse/lifestyle/guess-connect-touch/?utm_source=instagram&utm_medium=social&utm_campaign=like2buy&crl8_id=f1ffd186-3ee1-42ec-b463-135b26139ab7</destinationurl>
                <fileid>j3aEX6aK9BPSma4E8OrRXxT4JjCrcJn7zmhJ_rEFcPA=</fileid>
                <id>0</id>
                <imageurl>https://d28m5bx785ox17.cloudfront.net/v1/img/j3aEX6aK9BPSma4E8OrRXxT4JjCrcJn7zmhJ_rEFcPA=/d/l</imageurl>
                <name>CAN: GUESS CONNECT</name>
                <position>2</position>
                <productstyleid>u_2765_8a7e0d6ae928e7b95cd25781dadb917ab9d5d5826cb0dd14c7425e5c9c99c5e5</productstyleid>
                <sourceimageurl>https://d28m5bx785ox17.cloudfront.net/v1/img/j3aEX6aK9BPSma4E8OrRXxT4JjCrcJn7zmhJ_rEFcPA=</sourceimageurl>
        </products>
        <storeid>938</storeid>
        <timeposted>1512240829000</timeposted>
</items>

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

Онлайн-магазин или бренд ID Онлайн-магазин или бренд ID
Aldo aldo_shoes Ann Taylor anntaylor
Anthropologie anthropologie Bed, Bath and Beyond bedbathandbeyond
Brilliant Earth brilliantearth Cartier cartier
CB2 cb2 Champion champion
Chobani chobani Chumbak chumbak
Crate and Barrel crateandbarrel Creative Recreation creativerecreation
Covergirl covergirl David’s Bridal davidsbridal
Disney disney Dune London dune_london
Farfetch farfetch Fawn Shoppe fawn_shoppe
Forever21 forever21,forever21men Fossil fossil
Free People freepeople Gap gap
Garage Clothing garageclothing Guess guess
HauteLook hautelook Herbal Essenses herbalessences
Hot Topic hottopic House of Lashes houseoflashes
J. Crew jcrew Karl Lagerfeld karllagerfeld
Kohl’s kohls Laura Mercier lauramercier
Lilly Pulitzer lillypulitzer Louis Vuitton louisvuitton
lululemon lululemon Lulus lulus
Macy’s macys Misspap misspap
Neiman Marcus neimanmarcus Next Com AU nextofficial_au
Nordstrom nordstrom Paint Nite paintnite
PB Teen pbteen Pendleton pendletonwm
Pier 1 pier1 Pottery Barn potterybarn
Raymour & Flanigan raymourflanigan Schoolhouse Electric & Supply Co schoolhouse
Schutz schutzshoes Sephora sephora
Sperry sperry Target target
The Bump thebump The Company Store thecompanystore
Topman topman TopShop topshop
Victoria’s Secret victoriassecret Vineyard Vines vineyardvines
West Elm westelm Williams Sonoma williamssonoma
Windsor windsorstore Z Gallerie zgallerie
Zumiez zumiez
Михаил Сисин Со-основатель облачного сервиса по сбору информации и парсингу сайтов Diggernaut. Работает в области сбора и анализа данных, а также разработки систем искусственного интеллекта и машинного обучения  более десяти лет.

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *