phpQuery одна из самых популярных библиотек для парсинга сайтов. Она довольно быстрая и разобраться в ней не сложно, особенно если вы знакомы с ее старшим братом JavaScript библиотекой jQuery.
phpQuery основана на DOM, и в ней так же как и в jQuery используются селекторы, атрибуты, события и др.
Для начала необходимо скачать саму библиотеку отсюда или отсюда. Там же вы найдете документацию для разработчиков.
Как видите все достаточно просто. Теперь полученными данными можно манипулировать как угодно.
Краткий список основных методов, которые вам пригодятся:
<?
$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;
}
?>
Если вам понравилась статья, вы можете отблагодарить автора любой суммой, какую сочтете для себя приемлемой:
Поделиться:
Остались вопросы по статье? Задайте их прямо сейчас!
Что если сообщения с сайта будут приходить не только на ваш e-mail, но и моментально в мессенджер телеграм. Удобно же! Нужно было реализовать такой функционал, ну как и всегда все оказалось довольно просто. Так же стояла задача отправлять сообщения не Читать далее
Постоянно приходится пользоваться этой заготовкой. Вы можете модернизировать ее под любые нужды, будь то форма обратной связи, форма обратного звонка или заказ какой-либо услуги или товара. Поэтому я не буду украшать ее стилями, применять классы Bootstrap и различные скрипты, как Читать далее
Довольно часто приходится сталкиваться с выводом названий месяцев и дней недели по-русски. При чем в различных вариантах, к примеру с полным названием или сокращенным, с большой буквы или с маленькой. Можно воспользоваться одним из этих 2 вариантов для вывода даты Читать далее
Рабочий пример PHP парсера, который получает погоду с Яндекса по ID города. Скрипт сохраняет данные в файле кеша на сайте, и обновляет его раз в час. Так же расскажу как выводить на сайте собственные иконки погоды вместо стандартных от Яндекса. Читать далее
Для вывода списка видеозаписей из канала или плейлиста YouTube на сайте можно воспользоваться этим полностью рабочим решением на PHP. С помощью этой функции можно получить все необходимые данные видеозаписей: название, изображение и идентификатор видео. Вам понадобится идентификатор канала или плейлиста. Читать далее
Парсер получает курсы доллара и евро с сайта Центробанка каждые 24 часа и записывает их в файл кеша /log/course.txt Скрипт полностью готов к работе и не требует каких-либо дополнительных настроек. <? function loadCourse(){ define("tsCourse","15:00:00"); # Время смены курса центральным банком Читать далее
Пример календаря на PHP и Ajax с переключением месяцев. Можно использовать как заготовку для решения любых задач. Я использовал его для создания плагина календаря мероприятий на WordPress. Скрипт использует процедурный подход, но имеет разделенную структуру с шаблоном , что довольно Читать далее
Спасибо за статью! Все заработало с первого раза. Успехов вам!