Как будет выглядеть структура страниц каталога авто:
Марка -> Модель -> Годы выпуска и тип кузова -> Модель + год + кузов: отзывы, список комплектации с ценами -> Комплектации с тех характеристиками
На примере:
(парсить можно и иные формы страниц, главное получить те параметры, что есть на этих страницах)
Парсим страницы:
1. Заголовок "2013 Ford Focus Consumer Reviews"
2. Общая оценка автомобиля (3.877)
3. Отзывы:
- оценка
- имя пользователя
- название отзыва
- дата отзывы
- автомобиль пользователя
- текст отзыва
1. Марка
2. Модель
3. Год
1. Тип кузова (седан)
Спецификации. (Titanium (2.0L 4-cyl. FFV 6-speed Automated Manual))
I. Основные:
- расход топлива (26/36 миль на галлон)
- КПП (5-speed manual)
- тип двигателя (Flex-fuel (ffv))
- мест в машине (5)
- цилиндры (4)
- рейтинг (3.877)
II. Цвета
- внешняя расцветка
- внутренняя расцветка
III. Технические характеристики (все данные)
1. Внешние измерения
2. Внутренние измерения
3. Топливо
4. Вес и ёмкости
5. DriveTrain (мост)
6. Двигатель и производительность
7. Подвеска
8. Гарантия
- Особенности
1. Элементы интерьера
2. Элементы эктерьера
4. Функции безопасности
Опции
1. Фотографии
- Функции безопасности (массив)
- Crash Test Результаты
1. IIHS рейтинг
2. NHTSA рейтинг (Тест Боковой удар: G Хорошо)
О том как это должно выглядеть:
Результаты парсинга принимаются в виде базы. Скажем, MySql.
Все попадает в таблицы:
1. Идентификация парсинга. Одна строка по одному заказу парсинга. Используется только для идентификации конкретной базы.
2. Товары
3. Отзывы
4. Фото
В дальнейшем, возможно, расширим набор таблиц для хранения, например, информации по авторам, мэпингу
Форматы данных в таблицах:
Идентификация парсинга. Все параметры задаются вместе с заданием на парсинг. Т.е. в результирующих данных только одна строка в этой таблице. Склеивая эти данные будем получать корректный результат от разных парсеров.
· job_id: 5
· api_version. 1
· scope. auto_base.
· parser_name: soksaitov.ru название парсера-исполнителя
· job_name: auto_180714 название задания.
· target_url: edmunds.com базовый URL сайта сканирования.
· date. date-time. Дата передачи версии. Фактически, версия базы (в случае если поставщик несколько раз передает результат по одному заданию). Заполняется исполнителем.
Товар (объект из нужной сферы)
· id. Autoincrement. Не более того. Используется для связей между данными.
· job_id. Только пара job_id-object_id уникально идентифицирует результат парсинга по конкретному объекту. Поэтому они повторяются везде.
· name. Название автомобиля. Скажем, Ford Focus.
· url. Текст.
· description. Как есть на сайте. <Meta ….>.
Пример
Reviews & detailed price info for the 2013 Ford Focus. See invoice, MSRP, specs, safety ratings, photos & local inventory for the 2013 Focus.
· other. Другая информация в формате Json (он должен соответствовать схеме
.
Подробности по авто, отзывам, фото готов выслать лично. На сайт не влезло по кол.ву символов