i-kostiuk / rozetka-parser
rozetka.com.ua - парсер. Реалізовую методи за потребою. Якщо цікавить якийсь метод - пишіть, дороблю.
dev-master
2023-06-06 15:24 UTC
Requires
- guzzlehttp/guzzle: ^7.0
- symfony/css-selector: ^6.3
- symfony/dom-crawler: ^6.3
This package is auto-updated.
Last update: 2025-01-09 16:03:30 UTC
README
composer require i-kostiuk/rozetka-parser
use Rozetka\Rozetka; $parser = new Rozetka('https://rozetka.com.ua/ua/fujifilm_16650467/p218036047/');
use Rozetka\Rozetka; require __DIR__ . "/vendor/autoload.php"; $parser = new Rozetka('https://rozetka.com.ua/ua/fujifilm_16650467/p218036047/');
Використання:
При створення екземпляру класу Rozetka, в конструктор передаємо лінк на сторінку. Зараз доступний парсинг сторінок:
- Картка товару
- (Незабаром будуть інші)
$parser = new Rozetka('https://rozetka.com.ua/ua/fujifilm_16650467/p218036047/');
Під капотом у конструкторі робляться деякі попередні перевірки та одразу доступні наступні методи:
- getStatusCode - повертає код відповіді. Успішною вважається 200
$statusCode = $parser->getStatusCode(); // ex: 200
- getBody - повертає тіло відповіді. Зазвичай це html, json, xml.
$body = $parser->getBody(); // ex: <!DOCTYPE html><html.......html>
- getHeaders - повертає заголовки відповіді
$headers = $parser->getHeaders();
- parse - парсить сторінку та повертає результат
$response = $parser->parse(); // Product /* Array ( [type] => Product [data] => Array ( [title] => Фотоапарат Fujifilm X-T4 Body Black (16650467) Офіційна гарантія! [price] => 73759 [currency] => UAH [availability] => http://schema.org/InStock [brand] => Fujifilm [rating] => Array ( [@type] => AggregateRating [ratingValue] => 5 [ratingCount] => 2 [bestRating] => 5 [worstRating] => 1 ) [description] => Світлина в русіСтворити камеру, яка однаково добре підійде для запису фото та відео, – непросте завдання. X-T4 – наша найпродуктивніша камера серії X, яка забезпечує найвищу якість світлин і відео. Матриця четвертого покоління X-Trans CMOS 4, процесор X-Processor 4, нова компактна система стабілізації зображення (IBIS), вбудована в корпус, новий режим моделювання плівки ETERNA Bleach Bypass та інші функції, розроблені з урахуванням відгуків користувачів, відповідають найсуворішим професійним вимогам.Кольоропередача Ось уже понад 85 років компанія FUJIFILM безперервно розвивається й рухається разом зі змінами в технологіях від аналогових до цифрових. Ми постійно вивчаємо можливості передання кольору та відкриваємо нові шляхи для вашої творчості. У камері X-T4 представлений новий режим моделювання плівки ETERNA Bleach Bypass, який дає змогу мати дуже виразні кадри з низькою насиченістю та високою контрастністю.ПродуктивністьПрофесійна камера має бути здатна сфотографувати або записати відео в будь-який момент. Автофокус X-T4 спрацьовує всього за 0,02 секунди, а режим серійного запису до 15 кадрів за секунду з механічним затвором* забезпечує рекордну швидкість і функціональність, даючи нагоду зобразити кожну мить у максимально можливій якості.* Найвища швидкість серійного запису з механічним затвором серед бездзеркальних камер із матрицею APS-C (станом на лютий 2020 р)НадійністьНова вбудована 6.5-ступенева* система стабілізації зображення за заданим осям (IBIS) і новий акумулятор підвищеної ємності X-T4 забезпечують тривалий час роботи. Всі ці технічні новинки вміщаються в компактному корпусі, стійкому до пилу, вологи та погодних умов, завдяки чому камеру можна використовувати за температури до -10 градусів Цельсія. Ергономічний хват дає змогу міцно тримати камеру навіть із великими телеоб'єктивами.* З 18 моделями об'єктивів XF FUJINON.ВідеоЕволюція X-T4 не обмежується тільки фотографуванням. Крім швидкісного режиму запису відео Full HD 240P з ефектом уповільнення до 10 разів, камера X-T4 має функцію електронної стабілізації зображення (DIS) і режим форсованої стабілізації зображення (IS). Разом із вбудованою системою стабілізації IBIS, ці два режими забезпечують запис якісно нового рівня навіть без зовнішнього стабілізатора та інших додаткових пристосувань. [image] => Array ( [0] => https://content2.rozetka.com.ua/goods/images/base_action/25192088.jpg [1] => https://content2.rozetka.com.ua/goods/images/base_action/25192112.jpg [2] => https://content1.rozetka.com.ua/goods/images/base_action/25192133.jpg [3] => https://content.rozetka.com.ua/goods/images/base_action/25192157.jpg [4] => https://content2.rozetka.com.ua/goods/images/base_action/25192175.jpg [5] => https://content2.rozetka.com.ua/goods/images/base_action/25192210.jpg [6] => https://content2.rozetka.com.ua/goods/images/base_action/25192229.jpg [7] => https://content2.rozetka.com.ua/goods/images/base_action/25192246.jpg ) [url] => https://rozetka.com.ua/ua/fujifilm_16650467/p218036047/ [sku] => 218036047 ) [errors] => Array ( ) ) */
- getErrors - повертає всі помилки. Можна отримати на різних етапах (до та після парсингу)
$parser = new Rozetka('https://rozetka.com.ua/ua/fujifilm_16650'); $response = $parser->parse(); $errors = $parser->getErrors(); Array ( [0] => response_code )
- getErrorBySlug - Повертає текст помилки українською мовою по слагу, який можна отримати із getErrors або parse
$error = $parser->getErrorBySlug('response_code'); // string(47) "Помилковий код відповіді."