Парсинг php phpquery

Парсинг PHP: Библиотека PHPQuery

В этой записи мы с вами рассмотрим библиотеку PHPQuery, с помощью которой вы сможете делать подробную выборку из строки без использования регулярных выражений.

Где скачать?!

Скачать библиотеку можно с официального сайта – https://code.google.com/archive/p/phpquery/downloads

Скачиваете последнюю версию и добавляете файлы в свой проект. После этого вам нужно подключить библиотеку к вашему проекту, для этого прописываем request и путь к файлу phpQuery/phpQuery/phpQuery.php

request 'phpQuery/phpQuery/phpQuery.php';

Основы работы с библиотекой PHPQuery

Тот кто раньше работал с библиотекой jQuery, без труда сможет разобраться с phpQuery.

Мы будем использовать phpQuery в связке с CURL.

Прописываем базовый код для CURL и записываем результат в переменную(в моем случае это $result).

$curl = curl_init();//инициализация
curl_setopt($curl, CURLOPT_URL, $url);//передаем наш URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//для записи результата в переменную
$result = curl_exec($curl);//запрос

После, прописываем $pq = phpQuery::newDocument($result);, здесь создается объект в котором находится весь код страницы и в этом объекте мы будем искать нужный нам элемент. Далее прописываем код поиска элементов.

Элемент можно найти на тегу элемента, классу элемента или идентификатору элемента.

По тегу$elem = $pq->find('тег');

По идентификатору$elem = $pq->find('#имя_идентификатора');

По классу$elem = $pq->find('.имя_класса');

Для примера я буду искать контейнер в коде главной страницы на моем сайте в котором находится название сайта. Класс site-title.

$pq = phpQuery::newDocument($result);
$elem = $pq->find('.site-title');//ищем элемент с классом site-title

Далее прописываем код, который заберёт HTML код из найденного элемента.

$text = $elem->html();//выводим html код из полученного элемента

Полный код запроса выглядит так:

require_once 'phpquery-master/phpQuery/phpQuery.php';//подключаем библиотеку
$url = 'http://prog-time.ru';//ссылка на сайт

$curl = curl_init();//инициализация
curl_setopt($curl, CURLOPT_URL, $url);//передаем наш URL
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//для записи результата в переменную
$result = curl_exec($curl);//запрос

$pq = phpQuery::newDocument($result);
$elem = $pq->find('.site-title');//ищем элемент с классом site-title
$text = $elem->html();//выводим html код из полученного элемента
var_dump($text);//выводим

Методы для выборки:

find – для поиска элементов в дереве DOM
html – возвращает строку. Получает HTML-содержимое первого элемента в наборе.
text – получает текст выбранного элемента в наборе. Если таких элементов несколько, получит содержимое всех элементов, разделенные пробелом

Обычно для выборки используют только несколько методов, но phpQuery позволяет использовать все методы аналогичные jQuery.

Со всеми методами phpQuery вы можете ознакомиться здесь – https://code.google.com/archive/p/phpquery/wikis/Manipulation.wiki

На этом всё!
Если у вас есть вопросы, пишите их в нашей группе - https://vk.com/progtime
Вы так же можете разместить свой вопрос на нашем форуме, где другие программисты смогут вам помочь в решение вашей задачи - https://vk.com/prog_time
В ней мы делимся своим опытом с другими начинающими программистами, поэтому обязательно ответим на ваш вопрос.
Так же прокачивайте свои навыки на нашем канале - https://www.youtube.com/c/ProgTime

56
Оставить комментарий

avatar
56 Цепочка комментария
0 Ответы по цепочке
0 Последователи
 
Популярнейший комментарий
Цепочка актуального комментария
52 Авторы комментариев
treantincShannonviamyShannonviamyJeromepefJeromepef Авторы недавних комментариев
  Подписаться  
новее старее большинство голосов
Уведомление о
StepFoush
Гость

Cialis Viagra Vendita [url=http://apcialisle.com/#]Buy Cialis[/url] Arjuna Buy Cialis Best Generic Viagra Review

StepFoush
Гость

Viagra Cialis Precios [url=http://apcialisle.com/#]buy cialis online[/url] Keflex To Treat Spodylitis cialis generic Kamagra Ajanta Mumbai

JanleF
Гость

Viagra Side Effects [url=https://apcialisle.com/#]Cialis[/url] Triamterene Hctz For Sale Cialis Geschichte Levitra

JanleF
Гость

Discount Pharmacy In Us Online [url=http://cialibuy.com/#]buy cialis online from canada[/url] Flushing From Cephalexin buy cheap cialis online Acquisto Cialis One Day

RogelioCab
Гость
RogelioCab

cialis pills color canadian pharmacy order viagra discreetly

RobertCIP
Гость
RobertCIP

generic viagra cheap online cialis online buy brand levitra online

WilliamAcurn
Гость
WilliamAcurn

buy levitra online in canada http://cialisxtl.com buy viagra uk tesco

Vernoncrott
Гость
Vernoncrott

cheap cialis au generic viagra online where to buy cialis online

JanleF
Гость

Propecia Molestia Testicular [url=https://abcialisnews.com/#]generic name for cialis[/url] 5 Mg Cialis Generic India Cialis Find Doxycycline Best Website

RobertIdeok
Гость
RobertIdeok

buy cialis uk next day delivery canada ed drugs tesco cheap viagra [url=https://edpillsphrm.com]viagra without a doctor prescription usa[/url] buy viagra johor bahru

Elmerwah
Гость
Elmerwah

viagra for sale generic generic viagra without the prescription best mail order viagra

DonaldSeasy
Гость
DonaldSeasy

download cheap viagra http://aralenph.com – buy chloroquine online buy discount generic cialis

DonaldSeasy
Гость
DonaldSeasy

buy levitra in usa http://aralenph.com – cheap chloroquine how to get cheap viagra

DonaldSeasy
Гость
DonaldSeasy

buy levitra overnight http://tadal24ph.com – cialis 20 mg best price buy cheap levitra canada

DonaldSeasy
Гость
DonaldSeasy

best place order cialis http://alexa24ph.com – cheap viagra buy cialis online us pharmacy

DonaldSeasy
Гость
DonaldSeasy

buy generic cialis online usa http://zithazi.com – zithromax price buy cialis us pharmacy

JanleF
Гость

Skin Rash Cephalexin [url=https://buyciallisonline.com/#]best place to buy cialis online forum[/url] Dos And Donts While Taking Amoxicillin Buy Cialis Buy Propecia Online No Prescription

DonaldSeasy
Гость
DonaldSeasy

buy cialis kl http://tadal24ph.com – cialis cost viagra sale bristol

DonaldSeasy
Гость
DonaldSeasy

how to order viagra in australia http://alexa24ph.com – viagra pills discount cialis in canada

DonaldSeasy
Гость
DonaldSeasy

where to buy generic cialis online http://zithazi.com – zithromax price quality cheap meds pills viagra

DonaldSeasy
Гость
DonaldSeasy

cheap viagra inurl /profile/ http://zithazi.com – Azithromycin buy viagra toronto

DonaldSeasy
Гость
DonaldSeasy

cheap levitra in canada http://tadal24ph.com – lowest cialis prices order viagra

DonaldSeasy
Гость
DonaldSeasy

viagra for sale winnipeg http://kaletra24.com – buy generic kaletra viagra generic buy

DonaldSeasy
Гость
DonaldSeasy

levitra discount canada http://zithazi.com – zithromax online buy cialis canada no prescription

DonaldSeasy
Гость
DonaldSeasy

generic cialis discount http://kaletra24.com – buy kaletra do need prescription order viagra

DonaldSeasy
Гость
DonaldSeasy

cialis online cheap from canada http://aralenph.com – buy alaren cialis pills india

VirgilGuipt
Гость
VirgilGuipt

buy viagra in amsterdam
viagra online

VirgilGuipt
Гость
VirgilGuipt

discount levitra online
buy sildenafil

VirgilGuipt
Гость
VirgilGuipt

how to buy cheap viagra
viagra without doctor prescription

VirgilGuipt
Гость
VirgilGuipt

cialis pills for sale uk
buy viagra

VirgilGuipt
Гость
VirgilGuipt

viagra professional for sale
generic viagra

VirgilGuipt
Гость
VirgilGuipt

buy cialis levitra and viagra
generic viagra 100mg

VirgilGuipt
Гость
VirgilGuipt

where i can buy viagra in delhi
viagra pills

VirgilGuipt
Гость
VirgilGuipt

best place to order viagra online
viagra without doctor prescription

VirgilGuipt
Гость
VirgilGuipt

order generic cialis online
viagra without doctor prescription

VirgilGuipt
Гость
VirgilGuipt

viagra buy online
buy viagra

VirgilGuipt
Гость
VirgilGuipt

can buy viagra uk
buy viagra

VirgilGuipt
Гость
VirgilGuipt

how much is viagra
cheap viagra

VirgilGuipt
Гость
VirgilGuipt

cheaper viagra cialis levitra
viagra pills

VirgilGuipt
Гость
VirgilGuipt

cialis pills cut half
buy viagra

Donaldneeft
Гость
Donaldneeft
Donaldneeft
Гость
Donaldneeft
Herbertlep
Гость
Herbertlep

cialis lowest price
http://tadalafilprof.com

Herbertlep
Гость
Herbertlep

generic cialis available
http://tadalafilprof.com

Clintoncooth
Гость
Clintoncooth

viagra results viagra without a doctor prescription 150 mg
cialis for cheap

Viagra Generic
Гость

viagra coupon viagra dosage recommendations
viagra sale manchester

Viagra Generic
Гость

viagra price viagra without a doctor prescription 150 mg
buy jelly viagra online

JasonAroxy
Гость
JasonAroxy

prescription drugs without doctor approval sildenafil without a doctor’s prescription
onlinepharmacyero.com

unsenty
Гость

cialis user testimonals [url=https://buyciallisonline.com/]Buy Cialis[/url] Viagra Bestellen Buy Cialis Cialis 10 Mg Tadalafil Filmtabletten

JasonAroxy
Гость
JasonAroxy

legal to buy prescription drugs without prescription buy prescription drugs without doctor
onlinepharmacyero.com