Парсинг товаров с сайта

Пресет Парсинг товаров с сайта 1.0

Available for license holders
  • Автор темы Автор темы Nikolay
  • Дата начала Дата начала

Nikolay

A-Parser Enterprise License
A-Parser Enterprise
Здравствуйте, у меня стоит задача - получить карточки товара и подкатегорию, используя категории урлов - в которых эти товары находятся,

Например : http://www.mlesna.ru/catalog/tseylonskiy_chernyiy_bayhovyiy_aromatizirovannyiy/

Подкатегории - "
  • Набор (28)
  • Ассорти (26)
  • Клубника (19)
  • Бергамот (18)
  • К празднику (12)
  • Яблоко (10)
  • Смородина (9)
  • Вишня (9)
  • Персик и абрикос (7)
  • Мята (7)
  • Жасмин (7)
  • Саусэп (6)
  • Малина (6)
  • Лимон (6)
  • Клюква (6)
  • Голубика (6)
  • Ананас (6)
  • Слива (5)
  • Роза (5)
  • Манго (5)
  • Канадский клен (5)
  • Ежевика (5)
  • Апельсин (5)
  • Яблоневый цвет (4)
  • Цитрусовые (4)
  • Мёд (4)
  • Карамель (4)
  • Ваниль (4)
  • Шиповник (3)
  • Тропические фрукты (3)
  • Сливки (3)
  • Пэшнфрукт (3)
  • Папайя (3)
  • Лайм (3)
  • Киви (3)
  • Дыня (3)
  • Груша (3)
  • Грейфрукт (3)
  • Виноград (3)
  • Банан (3)
  • Черника (2)
  • Ревень (2)
  • Мандарин (2)
  • Шоколад (1)
  • Хризантема (1)
  • Специи (1)
  • Крыжовник (1)
  • Корица (1)
  • Кардамон (1)
  • Имбирь (1)
  • Гранат (1)
  • Боярышник (1)
  • Кокос (0)
"

То есть, парсер должен перейти в каждую подкатегорию и получить такие данные по каждому товару :

Название
Изображение
Тип
Артикул
Упаковка
Фасовка
Описание
Вес
Стоимость

Все эти данные находятся в <div class="goods"> на странице товара

внутри
div class=name
div class=picture
div class=info ( тут в таблице - тип, артикул, упаковка, фасовка)
Тип: Значение
Артикул : Значение
Упаковка : Значение
Фасовка : Значение
Описание - на странице в теге <p> - который следует сразу же за дивом <div class="goods">
div class=weight
div class=price

Хотелось бы получить результат в таком виде :

Набор;Чай черный ароматизированный «Spring Collection» (Весенняя Коллекция «8 Марта») в 8-ми холщовых мешочках;Тип: черный;Упаковка: деревянные коробки;Фасовка: байховый (рассыпной);Восемь видов цейлонского черного ароматизированного чая в холщовых мешочках в деревянной коробке с символикой "8 Марта".;200 гр; 1400руб

Подсказали в чате, что мне надо написать регулярные выражения под каждый div
http://a-parser.com/threads/1651/#post-4928
Допустим регулярка под див div class=name : <div class=\"name\">(.*?)</div> флаг s

Но мне не понятно :
1. Как мне заставить парсер переходить в подкатегории
2. Как записывать в файл результатов название подкатегории
3. Как Парсить данные из таблицы
div class=info ( тут в таблице - тип, артикул, упаковка, фасовка)
Тип: Значение
Артикул : Значение
Упаковка : Значение
Фасовка : Значение
4. Как сформировать файл результатов с этим всем
5. Как мне скачать изображение товара и сохранить целостность данных. То есть что бы изобаржение относилось именно к той строке данных - в файле результатов, за которым оно закреплено на основном сайте.
помогите пожалуйста?!
 
Последнее редактирование модератором:
Задачу можно решить с помощью 3-х заданий.

1) Парсим названия категорий и ссылки на них.
hVico.jpeg

Код:
eyJwcmVzZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY2Mi8gLSBc
dTA0M2ZcdTA0MzBcdTA0NDBcdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzMgXHUwNDNh
XHUwNDMwXHUwNDQyXHUwNDM1XHUwNDMzXHUwNDNlXHUwNDQwXHUwNDM4XHUwNDM5
IiwidmFsdWUiOnsicHJlc2V0IjoiaHR0cDovL2EtcGFyc2VyLmNvbS90aHJlYWRz
LzE2NjIvIC0gXHUwNDNmXHUwNDMwXHUwNDQwXHUwNDQxXHUwNDM4XHUwNDNkXHUw
NDMzIFx1MDQzYVx1MDQzMFx1MDQ0Mlx1MDQzNVx1MDQzM1x1MDQzZVx1MDQ0MFx1
MDQzOFx1MDQzOSIsInBhcnNlcnMiOltbIk5ldDo6SFRUUCIsImRlZmF1bHQiLHsi
dHlwZSI6ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6ImRhdGEiLCJyZWdleCI6Ijxs
aSBzdHlsZT1cImZsb2F0OiBsZWZ0OyBwYWRkaW5nOiAwcHg7IG1hcmdpbjogMHB4
XCI+Lis/PGEgaHJlZj1cIiguKz8pXCIuKz8+KC4rPykmLis/PFxcL2E+IiwicmVn
ZXhUeXBlIjoiaXNnIiwicmVzdWx0VHlwZSI6ImFycmF5IiwiYXJyYXlOYW1lIjoi
Y2F0ZWdvcnkiLCJyZXN1bHRzIjpbImxpbmsiLCJjYXQiXX0seyJ0eXBlIjoib3Zl
cnJpZGUiLCJpZCI6InVzZXByb3h5IiwidmFsdWUiOmZhbHNlfV1dLCJyZXN1bHRz
Rm9ybWF0IjoiJHAxLmNhdGVnb3J5LmZvcm1hdCgnJGNhdDtodHRwOi8vJHF1ZXJ5
LmRvbWFpbiRsaW5rP1NIT1dBTExfMj0xXFxuJykiLCJyZXN1bHRzU2F2ZVRvIjoi
ZmlsZSIsInJlc3VsdHNGaWxlTmFtZSI6InRlYS9jYXRlZ29yeS50eHQiLCJhZGRp
dGlvbmFsRm9ybWF0cyI6W10sInJlc3VsdHNVbmlxdWUiOiJubyIsInF1ZXJ5Rm9y
bWF0IjpbIiRxdWVyeSJdLCJ1bmlxdWVRdWVyaWVzIjpmYWxzZSwic2F2ZUZhaWxl
ZFF1ZXJpZXMiOmZhbHNlLCJpdGVyYXRvck9wdGlvbnMiOnsib25BbGxMZXZlbHMi
OmZhbHNlLCJxdWVyeUJ1aWxkZXJzQWZ0ZXJJdGVyYXRvciI6ZmFsc2V9LCJyZXN1
bHRzT3B0aW9ucyI6eyJvdmVyd3JpdGUiOmZhbHNlfSwiZG9Mb2ciOiJkYiIsImtl
ZXBVbmlxdWUiOiJObyIsIm1vcmVPcHRpb25zIjpmYWxzZSwicmVzdWx0c1ByZXBl
bmQiOiIiLCJyZXN1bHRzQXBwZW5kIjoiIiwicXVlcnlCdWlsZGVycyI6W3sic291
cmNlIjoicXVlcnkiLCJ0eXBlIjoiZXh0cmFjdERvbWFpbiIsInRvIjoiZG9tYWlu
In1dLCJyZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlkZXMiOltdfX0=

2) По полученной в 1-м шаге информации парсим ссылки на каждый отдельный товар, при этом также сохраняем название категории. Для этого в качестве файла запросов подставляем полученный в 1 шаге файл.
ytca7.png

Код:
eyJwcmVzZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY2Mi8gLSBc
dTA0M2ZcdTA0MzBcdTA0NDBcdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzMgXHUwNDQx
XHUwNDQxXHUwNDRiXHUwNDNiXHUwNDNlXHUwNDNhIFx1MDQzZFx1MDQzMCBcdTA0
NDJcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NGIiLCJ2YWx1ZSI6eyJwcmVz
ZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY2Mi8gLSBcdTA0M2Zc
dTA0MzBcdTA0NDBcdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzMgXHUwNDQxXHUwNDQx
XHUwNDRiXHUwNDNiXHUwNDNlXHUwNDNhIFx1MDQzZFx1MDQzMCBcdTA0NDJcdTA0
M2VcdTA0MzJcdTA0MzBcdTA0NDBcdTA0NGIiLCJwYXJzZXJzIjpbWyJOZXQ6OkhU
VFAiLCJkZWZhdWx0Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoidXNlcHJveHki
LCJ2YWx1ZSI6ZmFsc2V9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZv
cm1hdCIsInZhbHVlIjoiJHF1ZXJ5LmxpbmsifSx7InR5cGUiOiJjdXN0b21SZXN1
bHQiLCJyZXN1bHQiOiJkYXRhIiwicmVnZXgiOiI8ZGl2IGNsYXNzPVwiZ29vZHNc
Ij4uKj88YSBocmVmPVwiKC4rPylcIj4iLCJyZWdleFR5cGUiOiJpc2ciLCJyZXN1
bHRUeXBlIjoiYXJyYXkiLCJhcnJheU5hbWUiOiJsaW5rcyIsInJlc3VsdHMiOlsi
bGluayJdfV1dLCJyZXN1bHRzRm9ybWF0IjoiJHAxLmxpbmtzLmZvcm1hdCgnJHF1
ZXJ5LmNhdGVnb3J5O2h0dHA6Ly8kcXVlcnkuZG9tYWluJGxpbmtcXG4nKSIsInJl
c3VsdHNTYXZlVG8iOiJmaWxlIiwicmVzdWx0c0ZpbGVOYW1lIjoidGVhL2xvdHMu
dHh0IiwiYWRkaXRpb25hbEZvcm1hdHMiOltdLCJyZXN1bHRzVW5pcXVlIjoibm8i
LCJxdWVyeUZvcm1hdCI6WyIkcXVlcnkiXSwidW5pcXVlUXVlcmllcyI6ZmFsc2Us
InNhdmVGYWlsZWRRdWVyaWVzIjpmYWxzZSwiaXRlcmF0b3JPcHRpb25zIjp7Im9u
QWxsTGV2ZWxzIjpmYWxzZSwicXVlcnlCdWlsZGVyc0FmdGVySXRlcmF0b3IiOmZh
bHNlfSwicmVzdWx0c09wdGlvbnMiOnsib3ZlcndyaXRlIjpmYWxzZX0sImRvTG9n
IjoiZGIiLCJrZWVwVW5pcXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6ZmFsc2UsInJl
c3VsdHNQcmVwZW5kIjoiIiwicmVzdWx0c0FwcGVuZCI6IiIsInF1ZXJ5QnVpbGRl
cnMiOlt7InNvdXJjZSI6InF1ZXJ5IiwidHlwZSI6InN0cmluZ1NwbGl0Iiwic2Vw
YXJhdG9yIjoiOyIsInRvIjpbImNhdGVnb3J5IiwibGluayJdfSx7InNvdXJjZSI6
ImxpbmsiLCJ0eXBlIjoiZXh0cmFjdERvbWFpbiIsInRvIjoiZG9tYWluIn1dLCJy
ZXN1bHRzQnVpbGRlcnMiOltdLCJjb25maWdPdmVycmlkZXMiOltdfX0=

3) По полученным во 2-м шаге ссылкам с помощью регулярных выражений парсим информацию о каждом товаре. Для этого в качестве файла запросов подставляем полученный в 2-м шаге файл. Название категорий у нас уже есть из 2-го шага.
S7nLP.jpeg

Код:
eyJwcmVzZXQiOiJodHRwOi8vYS1wYXJzZXIuY29tL3RocmVhZHMvMTY2Mi8gLSBc
dTA0M2ZcdTA0MzBcdTA0NDBcdTA0NDFcdTA0MzhcdTA0M2RcdTA0MzMgXHUwNDM4
XHUwNDNkXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNjXHUwNDMwXHUwNDQ2XHUwNDM4
XHUwNDM4IFx1MDQzZSBcdTA0NDJcdTA0M2VcdTA0MzJcdTA0MzBcdTA0NDBcdTA0
MzBcdTA0NDUiLCJ2YWx1ZSI6eyJwcmVzZXQiOiJodHRwOi8vYS1wYXJzZXIuY29t
L3RocmVhZHMvMTY2Mi8gLSBcdTA0M2ZcdTA0MzBcdTA0NDBcdTA0NDFcdTA0Mzhc
dTA0M2RcdTA0MzMgXHUwNDM4XHUwNDNkXHUwNDQ0XHUwNDNlXHUwNDQwXHUwNDNj
XHUwNDMwXHUwNDQ2XHUwNDM4XHUwNDM4IFx1MDQzZSBcdTA0NDJcdTA0M2VcdTA0
MzJcdTA0MzBcdTA0NDBcdTA0MzBcdTA0NDUiLCJwYXJzZXJzIjpbWyJOZXQ6OkhU
VFAiLCJkZWZhdWx0Iix7InR5cGUiOiJvdmVycmlkZSIsImlkIjoidXNlcHJveHki
LCJ2YWx1ZSI6ZmFsc2V9LHsidHlwZSI6Im92ZXJyaWRlIiwiaWQiOiJxdWVyeWZv
cm1hdCIsInZhbHVlIjoiJHF1ZXJ5LmxpbmsifSx7InR5cGUiOiJjdXN0b21SZXN1
bHQiLCJyZXN1bHQiOiJkYXRhIiwicmVnZXgiOiI8aDEgY2xhc3M9XCJuYW1lXCI+
KC4rPyk8XFwvaDE+IiwicmVnZXhUeXBlIjoiaXMiLCJyZXN1bHRUeXBlIjoiZmxh
dCIsImFycmF5TmFtZSI6ImxpbmtzIiwicmVzdWx0cyI6WyJuYW1lIl19LHsidHlw
ZSI6ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6ImRhdGEiLCJyZWdleCI6Ijx0cj48
dGQgY2xhc3M9XCJ0aF9yXCI+XHUwNDIyXHUwNDM4XHUwNDNmOjxcXC90ZD48dGQ+
KC4rPyk8XFwvdGQ+PFxcL3RyPiIsInJlZ2V4VHlwZSI6ImlzIiwicmVzdWx0VHlw
ZSI6ImZsYXQiLCJhcnJheU5hbWUiOiIiLCJyZXN1bHRzIjpbInR5cGUiXX0seyJ0
eXBlIjoiY3VzdG9tUmVzdWx0IiwicmVzdWx0IjoiZGF0YSIsInJlZ2V4IjoiPHRy
Pjx0ZCBjbGFzcz1cInRoX3JcIj5cdTA0MjNcdTA0M2ZcdTA0MzBcdTA0M2FcdTA0
M2VcdTA0MzJcdTA0M2FcdTA0MzA6PFxcL3RkPjx0ZD4oLis/KTxcXC90ZD48XFwv
dHI+IiwicmVnZXhUeXBlIjoiaXMiLCJyZXN1bHRUeXBlIjoiZmxhdCIsImFycmF5
TmFtZSI6IiIsInJlc3VsdHMiOlsiYm94Il19LHsidHlwZSI6ImN1c3RvbVJlc3Vs
dCIsInJlc3VsdCI6ImRhdGEiLCJyZWdleCI6Ijx0cj48dGQgY2xhc3M9XCJ0aF9y
XCI+XHUwNDI0XHUwNDMwXHUwNDQxXHUwNDNlXHUwNDMyXHUwNDNhXHUwNDMwOjxc
XC90ZD48dGQ+KC4rPyk8XFwvdGQ+PFxcL3RyPiIsInJlZ2V4VHlwZSI6ImlzIiwi
cmVzdWx0VHlwZSI6ImZsYXQiLCJhcnJheU5hbWUiOiIiLCJyZXN1bHRzIjpbInBh
Y2siXX0seyJ0eXBlIjoiY3VzdG9tUmVzdWx0IiwicmVzdWx0IjoiZGF0YSIsInJl
Z2V4IjoiPHRhYmxlIGNsYXNzPVwiaW5mb1wiPi4rPzxwPiguKj8pPFxcL3A+Iiwi
cmVnZXhUeXBlIjoiaXMiLCJyZXN1bHRUeXBlIjoiZmxhdCIsImFycmF5TmFtZSI6
IiIsInJlc3VsdHMiOlsiZGVzY3IiXX0seyJ0eXBlIjoiY3VzdG9tUmVzdWx0Iiwi
cmVzdWx0IjoiZGF0YSIsInJlZ2V4IjoiPGRpdiBjbGFzcz1cIndlaWdodFwiPigu
Kz8pPFxcL2Rpdj4iLCJyZWdleFR5cGUiOiJpcyIsInJlc3VsdFR5cGUiOiJmbGF0
IiwiYXJyYXlOYW1lIjoiIiwicmVzdWx0cyI6WyJ3ZWlnaHQiXX0seyJ0eXBlIjoi
Y3VzdG9tUmVzdWx0IiwicmVzdWx0IjoiZGF0YSIsInJlZ2V4IjoiPGRpdiBjbGFz
cz1cInByaWNlXCI+KC4rPyk8XFwvZGl2PiIsInJlZ2V4VHlwZSI6ImlzIiwicmVz
dWx0VHlwZSI6ImZsYXQiLCJhcnJheU5hbWUiOiIiLCJyZXN1bHRzIjpbInByaWNl
Il19LHsidHlwZSI6ImN1c3RvbVJlc3VsdCIsInJlc3VsdCI6ImRhdGEiLCJyZWdl
eCI6IjxkaXYgY2xhc3M9XCJwaWN0dXJlXCI+Lis/PGltZyBzcmM9XCIoLis/KVwi
IiwicmVnZXhUeXBlIjoiaXMiLCJyZXN1bHRUeXBlIjoiZmxhdCIsImFycmF5TmFt
ZSI6IiIsInJlc3VsdHMiOlsiaW1nbGluayJdfV1dLCJyZXN1bHRzRm9ybWF0Ijoi
PHRhYmxlIHN0eWxlPVwiYm9yZGVyOiAycHggc29saWQgYmxhY2tcIj5cbjx0cj5c
bjx0ZCB3aWR0aD1cIjMwMFwiIHN0eWxlPVwiYm9yZGVyLXJpZ2h0OiAycHggc29s
aWQgYmxhY2tcIj4kcXVlcnkuY2F0ZWdvcnk7ICRwMS5uYW1lOyBcdTA0MjJcdTA0
MzhcdTA0M2Y6ICRwMS50eXBlOyBcdTA0MjNcdTA0M2ZcdTA0MzBcdTA0M2FcdTA0
M2VcdTA0MzJcdTA0M2FcdTA0MzA6ICRwMS5ib3g7IFx1MDQyNFx1MDQzMFx1MDQ0
MVx1MDQzZVx1MDQzMlx1MDQzYVx1MDQzMDogJHAxLnBhY2s7ICRwMS5kZXNjcjsg
JHAxLndlaWdodDsgJHAxLnByaWNlPC90ZD5cbjx0ZCB3aWR0aD1cIjIwMFwiIHZh
bGlnbj1cIm1pZGRsZVwiIGFsaWduPVwiY2VudGVyXCI+PGltZyBzcmM9XCJodHRw
Oi8vJHF1ZXJ5LmRvbWFpbiRwMS5pbWdsaW5rXCIgd2lkdGg9XCIyNDBcIiBoZWln
aHQ9XCIyNDBcIj48L3RkPlxuPC90cj5cbjwvdGFibGU+IFxuPGJyPlxuXFxuIiwi
cmVzdWx0c1NhdmVUbyI6ImZpbGUiLCJyZXN1bHRzRmlsZU5hbWUiOiJ0ZWEvc3Vt
bWFyeS5odG1sIiwiYWRkaXRpb25hbEZvcm1hdHMiOltdLCJyZXN1bHRzVW5pcXVl
Ijoibm8iLCJxdWVyeUZvcm1hdCI6WyIkcXVlcnkiXSwidW5pcXVlUXVlcmllcyI6
ZmFsc2UsInNhdmVGYWlsZWRRdWVyaWVzIjpmYWxzZSwiaXRlcmF0b3JPcHRpb25z
Ijp7Im9uQWxsTGV2ZWxzIjpmYWxzZSwicXVlcnlCdWlsZGVyc0FmdGVySXRlcmF0
b3IiOmZhbHNlfSwicmVzdWx0c09wdGlvbnMiOnsib3ZlcndyaXRlIjpmYWxzZX0s
ImRvTG9nIjoiZGIiLCJrZWVwVW5pcXVlIjoiTm8iLCJtb3JlT3B0aW9ucyI6dHJ1
ZSwicmVzdWx0c1ByZXBlbmQiOiI8IURPQ1RZUEUgSFRNTD5cbjxodG1sPlxuPGhl
YWQ+XG48bWV0YSBjaGFyc2V0PVwidXRmLThcIj5cbjwvaGVhZD5cbiIsInJlc3Vs
dHNBcHBlbmQiOiIiLCJxdWVyeUJ1aWxkZXJzIjpbeyJzb3VyY2UiOiJxdWVyeSIs
InR5cGUiOiJzdHJpbmdTcGxpdCIsInNlcGFyYXRvciI6IjsiLCJ0byI6WyJjYXRl
Z29yeSIsImxpbmsiXX0seyJzb3VyY2UiOiJsaW5rIiwidHlwZSI6ImV4dHJhY3RE
b21haW4iLCJ0byI6ImRvbWFpbiJ9XSwicmVzdWx0c0J1aWxkZXJzIjpbeyJzb3Vy
Y2UiOlswLCJkZXNjciJdLCJ0eXBlIjoiZGVjb2RlSHRtbCIsInRvIjoiZGVzY3Ii
fV0sImNvbmZpZ092ZXJyaWRlcyI6W119fQ==

P.S. При таком варианте решения итоговый файл сохраняется в виде html-страницы, на которой выводятся картинки и информация о товарах - таким образом решается вопрос сохранения целостности информации.
iIqXK.png
 
Большое спасибо за развернутый пример !

Вы не могли бы продублировать текстом - регулярные выражения

Задание 1 : - Parse result
Задание 2 : - Parse result
Задание 3 : Parse Result
- Тип
- Упаковка
- Фасовка
- Описание
- Изображение

Очень жду ) Спасибо !
 
Подскажите, пожалуйста, куда импортировать код задания (который под спойлером "Пресет")?
Искал в демо-версии A-Parser, не нашел этой возможности.
 
В Редакторе заданий выбираете импорт, как на скриншоте:
GVjgV.jpeg
 
Здравствуйте.
Ваша задача решается полностью аналогично (с небольшим отличием во втором задании).
Первым заданием парсите ссылки на категории и их названия.
Вторым - по полученным ссылкам парсите ссылки на товары. Тут нужно будет предусмотреть проход по пагинации. Для этого отлично подойдет функция Check next page.
Третьим - по ссылкам из второго задания парсите нужную информацию и формируете результат.

Регулярные выражения для заданий, как и сами задания, пользователи составляют самостоятельно.
Небольшая справка по регуляркам в А-Парсере: http://a-parser.com/wiki/regex/
 
Здравствуйте.
Ваша задача решается полностью аналогично (с небольшим отличием во втором задании).
Первым заданием парсите ссылки на категории и их названия.
Вторым - по полученным ссылкам парсите ссылки на товары. Тут нужно будет предусмотреть проход по пагинации. Для этого отлично подойдет функция Check next page.
Третьим - по ссылкам из второго задания парсите нужную информацию и формируете результат.

Регулярные выражения для заданий, как и сами задания, пользователи составляют самостоятельно.
Небольшая справка по регуляркам в А-Парсере: http://a-parser.com/wiki/regex/
Вы мне так помогли, что я готов прям выписать чек
 
Назад
Верх