eslavondigital / olx-parser
simple parser of ads from olx.ua
v0.1.5
2020-06-23 13:00 UTC
Requires
- php: 7.4.*
- symfony/css-selector: 5.1.*
- symfony/dom-crawler: 5.1.*
- symfony/http-client: 5.1.*
This package is auto-updated.
Last update: 2025-03-23 22:53:42 UTC
README
Simple parser of ads from olx.uaInstallation
Install the latest version with
$ composer require eslavondigital/olx-parser
Basic Usage
Parsing a single ad
<?php require_once __DIR__.'/vendor/autoload.php'; use Eslavon\Olx\Parser; $parser = new Parser(); $parser->setUrl('https://www.olx.ua/obyavlenie/koshechka-shanel-ischet-dom-IDIiT6V.html#38b636e8a1;promoted'); $result = $parser->run(); var_dump($result); /** array(1) { [0]=> array(7) { ["name"]=> string(43) "Кошечка Шанель ищет дом" ["amount"]=> string(18) "Бесплатно" ["description"]=> string(738) "Скромная и интеллигентная Шанель с пепельно-голубоватой шерсткой и белыми носочками ищет самых лучших хозяев. Не шкодная, спокойная, лоточек с древесным наполнителем знает. Кушает кашку с куриным фаршем и корм Клуб 4 лапы. Желательно в спокойную семью без маленьких детей. Девочке 1,5 месяца, первичную обработку от паразитов прошла. Будет среднешерстной (короткая очень густая шерсть) Привезем по городу" ["img"]=> string(80) "https://ireland.apollo.olxcdn.com:443/v1/files/pjq2uknv0fca2-UA/image;s=1000x700" ["date"]=> string(45) "Добавлено: в 22:31, 9 июня 2020" ["author"]=> string(10) "Ольга" ["address"]=> string(85) "Запорожье, Запорожская область, Шевченковский" } } */
Parsing multiple ads
<?php require_once __DIR__.'/vendor/autoload.php'; use Eslavon\Olx\Parser; $parser = new Parser(); $url_array =[ 'https://www.olx.ua/obyavlenie/intel-core-IDG8Pu3.html#f9f01ff837;promoted', 'https://www.olx.ua/obyavlenie/monitor-samsung-diagonal-21-5-IDIfVZ8.html#f9f01ff837;promoted' ]; $parser->setMultiUrl($url_array); $result = $parser->run(); var_dump($result); /** array(2) { [0]=> array(7) { ["name"]=> string(10) "Intel Core" ["amount"]=> string(13) "1 000 грн." ["description"]=> string(307) "Процесори різних моделей, всі у робочому стані. Якщо зацікавило пишіть. Для уточнення вартості моделі яка зацікавила, пишіть. Також є інші комплектуючі для комп'ютерів." ["img"]=> string(80) "https://ireland.apollo.olxcdn.com:443/v1/files/pk95fbpvt4z53-UA/image;s=1000x700" ["date"]=> string(75) "Опубликовано с мобильного в 12:03, 10 июня 2020" ["author"]=> string(16) "Катерина" ["address"]=> string(61) "Тернополь, Тернопольская область" } [1]=> array(7) { ["name"]=> string(46) "Монитор Samsung диагональ 21,5" ["amount"]=> string(13) "1 800 грн." ["description"]=> string(710) "Монитор в идеальном состоянии. Хотел сделать из него телевизор и подключить к IPtv через HDMI разъем. Но поскольку к нему нужно отдельно еще и звук делать решил не заморачиваться и купить просто телевизор. Монитор оказался не нужен. Продаю по полной предоплате на карту Приват банка или доставка ОЛХ. При необходимости лучше не звоните а пишите сообщение в ОЛХе. Я дам другой телефон для связи." ["img"]=> string(80) "https://ireland.apollo.olxcdn.com:443/v1/files/9qfvni8xxix32-UA/image;s=1000x700" ["date"]=> string(75) "Опубликовано с мобильного в 12:02, 10 июня 2020" ["author"]=> string(8) "Ігор" ["address"]=> string(98) "Прогресс, Кировоградская область, Гайворонский район" } } */
Remove invalid URLs from the array
<?php require_once __DIR__.'/vendor/autoload.php'; use Eslavon\Olx\Parser; $parser = new Parser(); $url_array =[ 'https://www.olx.ua/obyavlenie/intel-core-IDG8Pu3.html#f9f01ff837;promoted', 'undefined' ]; $clear_url_array = $parser->clearUrl($url_array); var_dump($clear_url_array); /** array(1) { [0]=> string(73) "https://www.olx.ua/obyavlenie/intel-core-IDG8Pu3.html#f9f01ff837;promoted" } */
Check URL for correctness
<?php require_once __DIR__.'/vendor/autoload.php'; use Eslavon\Olx\Parser; $parser = new Parser(); $url = 'https://www.olx.ua/obyavlenie/intel-core-IDG8Pu3.html#f9f01ff837;promoted'; var_dump($parser->validationUrl($url)); //bool (true) $url = 'https://www.avito.ru/krasnodar/ohota_i_rybalka/flyaga_brezent_5_l_1913328391'; var_dump($parser->validationUrl($url)); //bool (false)
Support Eslavon Digital Financially
Get supported Eslavon Digital and help fund the project.
Yandex.Money: 410016014512747
QIWI: https://qiwi.com/n/eslavon
Author
Vinogradov Victor - eslavon.work.victor@gmail.com - https://vk.com/winogradow.wiktor
Eslavon Digital - eslavondigital@gmail.com - https://vk.com/eslavon
License
All Elavon Digital products are licensed under the MIT license - see the LICENSE
file for details