PhpQuery парсер сайтов

PhpQuery парсер сайтов

7 февраля 2020 PHP

phpQuery одна из самых популярных библиотек для парсинга сайтов. Она довольно быстрая и разобраться в ней не сложно, особенно если вы знакомы с ее старшим братом JavaScript библиотекой jQuery.

phpQuery основана на DOM, и в ней так же как и в jQuery используются селекторы, атрибуты, события и др.

Для начала необходимо скачать саму библиотеку отсюда или отсюда. Там же вы найдете документацию для разработчиков.

И подключить ее в файле .php:

include_once 'phpQuery.php';

Теперь попробуем получить и вывести текст открытка с днем рождения женщине из блока с определенным классом с какого-то сайта:

<?php
include_once 'phpQuery.php';

$link = file_get_contents('http://site.ru/'); // Указываем ссылку на сайт
$document = phpQuery::newDocument($link);
$div = $document->find('div.text'); // Ищем нужный тег
$text = $div->html(); // Получаем содержимое

echo $text;
?>

Как видите все достаточно просто. Теперь полученными данными можно манипулировать как угодно.

Краткий список основных методов, которые вам пригодятся:

<?
$div->html(); // Получить HTML содержимое
$div->text(); // Получить текст
$div->remove(); // Удалить элемент
$div->find('a'); // Найти вложенный элемент
$div->prepend('a'); // Добавить в начало
$div->attr('href'); // Получить атрибут
$div->attr('href', 'http://site.ru'); // Изменить атрибут
$div->wrap('<div class="new">'); // Обернуть снаружи
$div->wrapInner('<div class="new">'); // Обернуть внутри
?>

Если вы ищете не один, а несколько элементов, то они будут оформлены в массив. Например найти все ссылки на странице и вывести их по одной:

<?php
include_once 'phpQuery.php';

$link = file_get_contents('http://site.ru/'); // Указываем ссылку на сайт
$document = phpQuery::newDocument($link);
$links = $document->find('a'); // Ищем все ссылки

foreach ($links as $singleLink) {
    echo $singleLink;
}
?>

Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Остались вопросы по статье? Задайте их прямо сейчас!
Телеграм бот на PHP отправляющий сообщения с сайта

Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто. Так же стояла задача отправлять сообщения не Читать далее

Отправка формы без перезагрузки страницы на PHP и Ajax

Постоянно приходится пользоваться этой заготовкой. Вы можете модернизировать ее под любые нужды, будь то форма обратной связи, форма обратного звонка или заказ какой-либо услуги или товара. Поэтому я не буду украшать ее стилями, применять классы Bootstrap и различные скрипты, как Читать далее

Вывести на PHP месяц и день недели на русском

Довольно часто приходится сталкиваться с выводом названий месяцев и дней недели по-русски. При чем в различных вариантах, к примеру с полным названием или сокращенным, с большой буквы или с маленькой. Можно воспользоваться одним из этих 2 вариантов для вывода даты Читать далее

Парсер яндекс погоды на PHP

Рабочий пример PHP парсера, который получает погоду с Яндекса по ID города. Скрипт сохраняет данные в файле кеша на сайте, и обновляет его раз в час. Так же расскажу как выводить на сайте собственные иконки погоды вместо стандартных от Яндекса. Читать далее

Как встроить видео с YouTube канала на сайт

Для вывода списка видеозаписей из канала или плейлиста YouTube на сайте можно воспользоваться этим полностью рабочим решением на PHP. С помощью этой функции можно получить все необходимые данные видеозаписей: название, изображение и идентификатор видео. Вам понадобится идентификатор канала или плейлиста. Читать далее

Курсы доллара и евро с сайта Центробанка на PHP

Парсер получает курсы доллара и евро с сайта Центробанка каждые 24 часа и записывает их в файл кеша /log/course.txt Скрипт полностью готов к работе и не требует каких-либо дополнительных настроек. <? function loadCourse(){ define("tsCourse","15:00:00"); # Время смены курса центральным банком Читать далее

Календарь на PHP и Ajax

Пример календаря на PHP и Ajax с переключением месяцев. Можно использовать как заготовку для решения любых задач. Я использовал его для создания плагина календаря мероприятий на WordPress. Скрипт использует процедурный подход, но имеет разделенную структуру с шаблоном , что довольно Читать далее

Один комментарий на «PhpQuery парсер сайтов»

  1. Евгений:

    Спасибо за статью! Все заработало с первого раза. Успехов вам!

Добавить комментарий