Собираем информацию и изображения в интернет-магазине Cartier с помощью бесплатного парсера товаров и цен. Cartier — знаменитый французский Дом по производству ювелирных изделий и часов, который был основан в 1847 году Луи-Франсуа Картье как маленькая мастерская. Популярность к ней пришла в 1867 году после Всемирной выставки в Париже, и до сих пор изделия этой торговой марки высоко ценятся по всему миру.
Примерное количество товаров: 2000
Примерное количество запросов: 2000
Рекомендуемый план подписки: Free
ВНИМАНИЕ! Количество запросов может превышать количество товаров, потому что данные о вариациях, изображениях и др. могут парсится используя запросы к дополнительным ресурсам. Также часть данных о товаре может доставляться с помощью XHR запросов, что также увеличивает общее количество необходимых запросов.
Как пользоваться парсером товаров и цен
Для использования парсера товаров и цен с сайта магазина Cartier вы должны иметь учетную запись в нашем сервисе Diggernaut.
- Пройдите по этой ссылке для регистрации в сервисе Diggernaut
- После регистрации и подтверждения email адреса войдите в свою учетную запись
- Создайте проект с любый именем и описанием, если вы не знаете как, обратитесь к нашей документации
- Войдите во вновь созданный проект и создайте в нем диггер с любым именем, если вы не знаете как, обратитесь к нашей документации
- Скопируйте в буфер обмена приведенный ниже сценарий диггера и вставьте его в созданный вами диггер, если вы не знаете как, обратитесь к нашей документации
- Переключите режим работы диггера с Debug на Active, если вы не знаете как, обратитесь к нашей документации
- Запустите ваш диггер и дождитесь окончания его работы, если вы не знаете как, обратитесь к нашей документации
- Скачайте собранный набор данных в нужном вам формате, если вы не знаете как, обратитесь к нашей документации
В дальнейшем вы можете установить расписание для запуска вашего парсера и забирать информацию регулярно.
Сценарий парсера
---
config:
debug: 2
agent: Firefox
do:
- walk:
to: http://www.cartier.com/en-us/collections.html
do:
- find:
path: ul.c-navigation__ulist a
do:
- parse:
attr: href
filter: ^([^\?]+)
- space_dedupe
- trim
- normalize:
routine: replace_matched
args:
javascript\:: ''
- if:
match: \s*[a-z]+
do:
- normalize:
routine: url
- link_add:
pool: catalog
- walk:
to: links
pool: catalog
do:
- sleep: 2
- find:
path: a.c-collection-link
do:
- parse:
attr: href
filter: ^([^\?]+)
- space_dedupe
- trim
- normalize:
routine: replace_matched
args:
javascript\:: ''
- if:
match: \s*[a-z]+
do:
- normalize:
routine: url
- link_add:
pool: catalog
- find:
path: a.prod-link
do:
- parse:
attr: href
filter: ^([^\?]+)
- space_dedupe
- trim
- normalize:
routine: replace_matched
args:
javascript\:: ''
- if:
match: \s*[a-z]+
do:
- normalize:
routine: url
- link_add:
pool: pages
- walk:
to: links
pool: pages
do:
- sleep: 2
- find:
path: div.main-container
do:
- variable_clear: desc
- object_new: product
- eval:
routine: js
body: '(function (){var d = new Date(); return d.toISOString()})();'
- object_field_set:
object: product
field: date
- static_get: url
- object_field_set:
object: product
field: url
- find:
path: span.c-pdp__cta-section--product-title
do:
- parse
- space_dedupe
- trim
- object_field_set:
object: product
field: name
- register_set: Cartier
- object_field_set:
object: product
field: brand
- find:
path: div.c-pdp__cta-section--product-ref-id>span
do:
- parse
- space_dedupe
- trim
- if:
match: \w+
do:
- variable_set: pid
- object_field_set:
object: product
field: sku
- find:
in: doc
path: meta[property="description"]
do:
- parse:
attr: content
- space_dedupe
- trim
- variable_set: desc
- find:
path: div.c-pdp__desc--content
do:
- parse
- space_dedupe
- trim
- variable_set: desc
- variable_get: desc
- object_field_set:
object: product
field: description
- find:
path: div.c-pdp__cta-section--product-price
do:
- find:
path: div.price
do:
- parse
- normalize:
routine: replace_matched
args:
\$: USD
- object_field_set:
object: product
field: currency
- parse:
filter:
- ([0-9\.\,]+)\s*-
- ([0-9\.\,]+)
- normalize:
routine: replace_substring
args:
\,: ''
- space_dedupe
- trim
- object_field_set:
object: product
type: float
field: price
- find:
path: ul.c-breadcrumb__list>li.c-breadcrumb__list-item>a
do:
- parse
- space_dedupe
- trim
- normalize:
routine: replace_matched
args:
Collections: ''
Categories: ''
- if:
match: \w+
do:
- object_field_set:
object: product
joinby: "|"
field: categories
- find:
path: div.c-pdp__image--wrapper
do:
- parse:
attr: data-src
- space_dedupe
- trim
- if:
match: \w+
do:
- normalize:
routine: url
- object_field_set:
object: product
joinby: "|"
field: images
- object_save:
name: product
Пример данных, собранных парсером с сайта
Ниже приведен пример датасета с несколькими товарами в формате JSON (для наглядности). Датасет может быть скачан и как CSV, XLSX, XML, и любой другой текстовый формат используя темплейтный подход.
[{
"product": {
"brand": "Cartier",
"categories": "Watches|Women's watches|Crash",
"currency": "USD",
"date": "2017-12-27T10:58:53.896Z",
"description": "Created in 1967 in *Swinging London*, the Crash watch expresses the sparkling, carefree spirit of an era that was all about complete freedom. The unlikely design of this watch could only have been conceived by Cartier, the great maker of shaped watches. Passionate and in touch with the spirit of the times, it sought to create a unique watch that would capture the joyous burst of rebellion and pop culture that shook up the conformism of the time.",
"images": "http://www.cartier.com/content/dam/rcq/car/59/37/24/593724.png|http://www.cartier.com/content/dam/rcq/car/59/29/55/592955.png",
"name": "Crash watch",
"price": 133000,
"sku": "HPI00654",
"url": "http://www.cartier.com/en-us/collections/watches/womens-watches/crash/hpi00654-crash-watch.html"
}
}
,{
"product": {
"brand": "Cartier",
"categories": "Watches|Gifts|Cartier Classics",
"currency": "USD",
"date": "2017-12-27T10:58:57.333Z",
"description": "Louis Cartier created the Santos watch in 1904, sealing his friendship with the aviator Alberto Santos Dumont. The famous aviator's wish was granted: he could check the time while flying. The dial's rounded angles and exposed screws made this an iconic timepiece. Cartier marked the centenary of the watch with the introduction of a new version.",
"images": "http://www.cartier.com/content/dam/rcq/car/58/46/40/584640.png|http://www.cartier.com/content/dam/rcq/car/15/35/39/2/1535392.png",
"name": "Santos 100 watch",
"price": 7000,
"sku": "W20073X8",
"url": "http://www.cartier.com/en-us/collections/watches/selections/cartier-classics/w20073x8-santos-100-watch.html"
}
}
,{
"product": {
"brand": "Cartier",
"categories": "Watches|Gifts|Cartier Classics",
"currency": "USD",
"date": "2017-12-27T10:59:00.589Z",
"description": "The Tank story takes an unexpected turn with the Tank Anglaise. This variation of the distinctive features of the Tank recreates the perfect alignment of the original thanks to a winding mechanism seamlessly incorporated into the case. Featuring a concentrated form and reinforced lines, the streamlined design reinterprets the original model and gives it a new dimension.",
"images": "http://www.cartier.com/content/dam/rcq/car/10/28/14/2/1028142.png",
"name": "Tank Anglaise watch",
"price": 9100,
"sku": "W5310047",
"url": "http://www.cartier.com/en-us/collections/watches/selections/cartier-classics/w5310047-tank-anglaise-watch.html"
}
}]
мощь!!