Здравствуйте, нужно спарсить характеристики всех процессоров с официальных сайтов
для amd - https://ark.intel.com/content/www/us/en/ark.html (пример страницы с характеристиками - https://ark.intel.com/content/www/us/en/ark/products/228441/intel-core-i912900hx-processor-30m-cache-up-to-5-00-ghz.html)
для intel https://www.amd.com/en/products/specifications/processors/ (пример страницы с характеристиками - https://www.amd.com/en/product/5956)
+ все остальные характеристики с сайта technical city - вот здесь все процессоры - https://technical.city/en/cpu/rating (там есть и для intel и для amd, пример страницы конкретного процессора https://technical.city/en/cpu/Core-i5-4430). Если на technical city характеристики повторяют информацию с официального сайта, в приоритете официальный сайт, кроме дат т.к. более точные даты указаны не на оф. сайтах. Если на одном сайте процессор есть, а на другом нет, берём характеристики только с того, где есть.
Парсим Английскую версию.
Спарсить и сохранить в mysql таблицу - поля должны быть соответствующих типов и нормализованы (например kb и Mb перевести в kb).
Характеристики должны быть сохранены так, чтоб было удобно с ними работать в дальнейшем, например, если процессор поддерживает несколько разных технологий, указанных через запятую, сохраненяться они должны каждая в свою ячейку (скорее даже в отдельной таблице).
Парсинг делать на laravel (как минимум сохранение информации в базу данных), а так можно хоть на Puppeteer.
Отдельные 2 колонки должны быть в mysql таблице - страницы Url, откуда спарсено, одно поле для оф. сайта, другое для tehnical city.
На tehnical нужно спарсить характеристики из разделов:
- General info
- Technical specs
- Compatibility
- Technologies and extensions
- Virtualization technologies
- Memory specs
- Graphics specifications
- Graphics API support
- Peripherals
- Benchmark performance (все бенчмарки)
- Mining hashrates
- User Rating
Если что-то проще вытащить из других источников, предложите, может есть вариант лучше.
Cron
Каждый день отслеживать (только по оф сайтам), появились ли новые процессоры. Если да - добавить в базу.
Отслеживать характеристики раз в месяц (только по оф. сайтам) и если поменялись - обновлять в таблице (Updated_at у характеристики тоже должно смениться).
Если в процессе парсинга скрипт обнаружит, что появилось неизвестное поле или формат какого-то поля поменялся, нужно отправлять мне на почту информацию об этом.
Чем больше комментариев кода, тем лучше.
Парсинг не обязательно должен быть быстрым, чтоб не нагружать сайты-источники. Могу предоставить 10 прокси. Так же предоставлю сервер, а laravel и бд надо будет установить.