eslavondigital/olx-parser

olx.ua广告的简单解析器

v0.1.5 2020-06-23 13:00 UTC

This package is auto-updated.

Last update: 2024-09-23 21:48:00 UTC


README

php version Latest Stable Version License

olx.ua广告的简单解析器

安装

使用以下命令安装最新版本:

$ composer require eslavondigital/olx-parser

基本用法

解析单个广告

<?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) "Запорожье, Запорожская область, Шевченковский"
   }
}
*/

解析多个广告

<?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) "Прогресс, Кировоградская область, Гайворонский район"
 }
}
*/

从数组中移除无效的URL

<?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"
}
*/

检查URL的正确性

<?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)

支持Eslavon Digital

通过支持Eslavon Digital并资助项目来帮助。

Yandex.Money 410016014512747

QIWI: https://qiwi.com/n/eslavon

作者

维克多·维诺格拉多夫 - eslavon.work.victor@gmail.com - https://vk.com/winogradow.wiktor
Eslavon Digital - eslavondigital@gmail.com - https://vk.com/eslavon

许可证

所有Eslavon Digital产品均采用MIT许可证发布 - 详细信息请参阅LICENSE文件。