Сайт: https://tuningfiles.com/
Задача: парсинг и актуализация данных с сайта tuningfiles.com
Цена: $150 за готовый скрипт на базе ZennoBox (код не требуется). Если что-то на сайте изменится и потребуется обновить скрипт – обновление будет оплачиваться также.
Что делаем:
Режим 1 (парсинг данных)
-
Опускаемся до блока Please Select Your Vehicle

-
Нужно собрать информацию по каждому мотору в каждой категории, каждого бренда, каждой модели, поколения (перебрать все комбинации):

- Выбираем категорию: автомобиль, грузовик, трактор, лодка, мотоцикл
- Выбираем Brand
- Выбираем Model
- Выбираем Generation
- Выбираем Motor
- Нажимаем “View remaps”
-
Открывается информация, где нужно спарсить следующие данные:

- Данные выбранного объекта (то, что выбирали выше)
- Категория
- Brand
- Model
- Generation
- Motor
- Логотип бренда
- ссылку на картинку
- саму картинку (+ название файла, которе положим в json и csv)
- Картинку объекта
- ссылку на картинку
- саму картинку (+ название файла, которе положим в json и csv)
- Блок Sedox performance tuning (в некоторых объектах может не быть Stage 2)
- Power (hp)
- Original
- Stage 1
- Increase
- Stage 2
- Increase
- Torque (Nm)
- Original
- Stage 1
- Increase
- Stage 2
- Increase
- Engine specifications – берем всю информаци по объекту
- Engine type
- Fuel
- Capacity
- Cylinders
- Engine code
- ECU
- TCU
- Available options – берем только текст под картинками (сами картинки не нужны)
- Work method
- Tools
- Получить исходные данные (не картинка, данные) из графика Dynochart
Используется Chart.js v2.9.3 https://www.chartjs.org, график рисуется на canvas
- Если погуглить “Как выгрузить данные с Canvas”, найдете несколько решений
-
Сохраняем полученные данные и дату, время, когда добавили объект в json и csv форматах
Режим 2 (проверка, актуализация объектов)
Если появился новый объект – добавляем информацию к нам в базу
- Бежим по всем объектам и сравниваем, есть ли у нас такой же.
- Если нашли новый объект, которого у нас нет – парсим данные и сохраняем к нам в базу
Как вариант, можно сохранять идентификаторы новых объектов, чтобы потом запустить режим 1 только для новых объектов – на ваш выбор.
Обработка ошибок
Также нужна обработка и вывод ошибок скрипта, если на сайте что-то изменилось у бота не получается распарсить данные.