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

На сегодняшний день Яндекс.Касса - это один из самых популярных мерчантов для подключения оплаты на любом сайте. Касса позволяет принимать платежи с помощью банковских карт и Яндекс.Денег, а так же подключить онлайн-кассу. Если у вас интернет-магазин на одной из популярных Читать далее

Вывод постов из Instagram на сайт с помощью API

У инстраграма нет готового виджета для вывода постов на сайте. В прошлой статье мы рассматривали как создать Instagram виджет для сайта с помощью конструктора. Это самый простой и быстрый способ, и на мой взгляд самый лучший. Единственный его минус, как Читать далее

PHP классы, объекты, методы

Абсолютно любой предмет из нашей жизни мы можем описать по его характеристикам и состоянию, а так же воздействовать на это состояние. Например, ваш автомобиль имеет определенный цвет, марку, двигатель и т.д. Кроме того он может ехать, стоять, набирать или сбавлять Читать далее

Удалить значение из массива на PHP

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

Создание чат-бота для Viber

В этой статье рассмотрим как создать простого чат-бота для Viber, который будет принимать и отправлять сообщения в чат. Шаг 1 Итак, для начала необходимо зарегистрироваться в сервисе Viber Admin Panel по этой ссылке. Шаг 2 Создаём бота. Для этого заполняем Читать далее

Регулярные выражения PHP: preg_match, preg_split, preg_replace

Регулярные выражения - это мощный алгоритм сопоставления с образцом, который может быть выполнен в одном выражении. Регулярные выражения используют арифметические операторы, такие как (+, -, ^) для создания сложных выражений. Регулярные выражения помогают вам выполнять такие задачи, как проверка адресов Читать далее

Парсер XML PHP с использованием SimpleXML. Примеры

Существует несколько способов парсить XML-данные с использованием PHP, один из которых - SimpleXML. В предыдущей статье мы уже рассматривали, как парсить RSS ленты с помощью этой замечательной библиотеки. Библиотека входит в состав PHP начиная с 5 версии. Парсить и манипулировать Читать далее

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

  1. Евгений:

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

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

*

code