Есть сайт fragrantica.com и его русское зеркало fragrantica.ru (все то же самое с теми же url и структурой страниц, только на русском)
Нужно скачать информацию по каждому парфюму и парфюмерному бренду в БД этого сайта.
Как это можно сделать:
- На странице http://www.fragrantica.com/designers/ есть блок View designers from the country:
Выбирая тут все страны по алфавиту, получаем внизу список парфюмерных брендов для каждой страны. Таким образом получим таблицу брендов и их страниц:
Имя бренда Страна бренда Адрес страницы бренда Acqua di Parma Italy http://www.fragrantica.com/designers/Acqua-di-Parma.html
На странице бренда мы сразу видим список всех парфюмов бренда. Для каждого парфюма сохраняем вначале его данные: Бренд Название Пол Год выпуска Адрес страницы id в таблице брендов Acqua di Parma Colonia 2 1916 http://www.fragrantica.com/perfume/Acqua-di-Parma/Acqua-di-Parma-Colonia-1681.html
Значение поля Пол:
- 0 = for men (если в списке парфюмов под его названием написано "for men")
- 1 = for women
- 2 = for women and men
После составления полной таблицы парфюмов для каждого парфюма с его страницы и его симметричной страницы на русском языке (http://www.fragrantica.ru/perfume/Acqua-di-Parma/Acqua-di-Parma-Colonia-1681.html) добавляем следующие три поля:
- Main accords: список в блоке под надписью "main accords" с сохранением порядка и с указанием ширины закрашенного столбика. Например, в Acqua di Parma это:
- aromatic: 130
- citrus: 121
- fresh spicy: 102
- fresh: 58
- woody: 55
- Fragrance Notes ENG: список нот из списка под заголовком Fragrance Notes (он же иногда называется Perfume Pyramid), разбитый на 3 категории (top, middle, base) на английском c указанием их веса, указанного в блоке "Main Notes According to Your Votes". Если ноты не разбиты на категории, то их все относим к middle. Например, в Acqua di Parma это:
- top: {},
- middle: {
- Sicilian Citruses: 373,
- Lavender: 248,
- Rosemary: 150,
- ... },
- base: {}
Пример с разбивкой нот на категории (Пирамида) http://www.fragrantica.com/perfume/Burberry/The-Beat-2092.html
Иногда блок "Main Notes According to Your Votes" пустой, тогда берем просто список нот из блока слева от "Main Notes According to Your Votes" и проставляем им одинаковые веса (равные 0). Пример http://www.fragrantica.com/perfume/Arkadia-Sabores-y-Aromas-de-Autor/Cadena-Sofitel-Argentina-28374.html Не видела такого вживую, но наверное есть ситуации, когда в блок "Main Notes According to Your Votes" попадают не все ноты из полного списка нот в блоке слева от него. Тогда недостающие ноты тоже указываем, но с весом 1.
И то же самое на русском 3. Fragrance Notes RUS: такой же список нот с весами, но скачанный с той же странички в домене .ru Там это называется "Основные слышимые ноты по мнению пользователей".
То есть, добавляем три поля для каждого парфюма. На этом все.