Пн. Май 27th, 2024

Парсинг — это быстрое добавление контента в необходимый источник. Если необходимо добавить к себе на сайт кусочек статьи из другого сайта — например афиша спектаклей или расписание трамваев или погоду — то пожалуйста.

Как это сделать? Подробное описание на сайте https://100zona.com/parsim-kontent-k-sebe-na-sajt-2013-02-09.html

Парсер контента: введение

Допустим, интересующая нас информация есть на каком-нибудь стороннем сайте и там же обновляется. Разумеется, можно периодически посещать сайт с информацией, копировать ее оттуда и обновлять у себя на сайте пресловутыми: Ctrl+C и Ctrl+V. Но можно и не заходить, а поручить задачу несложному скрипту — парсеру, который по требованию: зайдет на сайт-донор, найдет и вырежет нужную нам информацию и отобразит ее на нашем сайте. Проще говоря, информация с другого сайта будет публиковаться на вашем в полностью автоматическом режиме. Если перспектива для вас радужная — читаем далее.

Я упускаю размышления об этической стороне этого дела, коснемся лишь технической стороны. Также не призываю никого использовать данный метод во вред кому бы то ни было! Разобравшись с техническими нюансами, вы сможете впоследствии приготовить специфические информеры для своего сайта, предоставлять своим пользователям актуальную и  востребованную ими информацию. Здесь все зависит от полета вашей мысли!

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

Реализация парсера на PHP

Пожалуй, самый ответственный момент в нашем случае — это поиск донора, то есть сайта, на котором будет появляться интересующая нас информация. Сайт должен работать бесперебойно, выполнять свои обязанности по обновлению информации исправно и текст должен быть открытый (то есть, открыв исходный код страницы в браузере — мы должны видеть там интересующую нас информацию).

Когда сайт-донор и нужная нам страница для парсинга найдена, запоминаем ее урл и переходим к следующему этапу. Создаем в блокноте текстовый файл, например parser.php и помещаем в него следующий код:

<?php

//откуда будем парсить информацию
 $content = file_get_contents('полный урл страницы с http:// с которого будем вырезать информацию');

// Определяем позицию строки, до которой нужно все отрезать
 $pos = strpos($content, 'здесь кусок кода/текста который размещен перед нужным текстом');

//Отрезаем все, что идет до нужной нам позиции
 $content = substr($content, $pos);

// Точно таким же образом находим позицию конечной строки
 $pos = strpos($content, 'здесь кусок кода/текста который стоит в конце нужного нам текста');

// Отрезаем нужное количество символов от нулевого
 $content = substr($content, 0, $pos);

//если в тексте встречается текст, который нам не нужен, вырезаем его
 $content = str_replace('текст который нужно вырезать','', $content);

// выводим спарсенный текст.
 echo $content;

echo "вставляем сюда завершающий код";
 ?>

Итак, какие-то 8 строчек кода и сторонний контент автоматически публикуется на нашем блоге. Зеленым цветом в коде обозначены места, которые вы обязательно должны отредактировать.

Нужны пояснения к кускам кода/текста? Тут все просто, мы должны указать начальную и конечную позицию в тексте, который нужно парсить. Открываем исходную страницу на сайте-доноре и ищем нужный нам текст. Как правило, он будет начинаться с какой нибудь html-разметки, что-то типа этого — <td><p><strong><em> и заканчиваться такой же абракадаброй — например, </td><td>&nbsp;</td><td>&nbsp;</td></tr>. Копируем эти символы в начальную и конечную позиции (2 и 3 строчки кода). Помним, наш скрипт спарсит текст, который находится между этими позициями на сайте.

parser.php готов. Копируем его в корень своего сайта и запускаем в браузере http://мой сайт/parser.php. Если вы все сделали правильно, вы увидите вырезанный/спарсенный кусок текста. Разумеется, он индексируется и не содержит никаких следов того, что вы его забрали с другого сайта.

Интеграция парсера на PHP в WordPress

Итак, парсер готов. Его работа протестирована, результатом довольны. Но как показать спарсенный контент на странице или в записи wordpress?

Если мы вставим вышеприведенный код в запись вордпресс пусть даже в режиме html, то в целях безопасности скрипты вордпресса его попросту вырежут — цензура не пропустит.

Решение находим, установив плагин, разрешающий вордпресс публиковать код php прямо в записи. Ищем какой нибудь плагин типа «Allow PHP in Posts and Pages» и смело заходим в редактор страницы/записи в вордпресс и в нужное место на странице вставляем вызов нашей страницы.

[php] $content = file_get_contents(‘http://мой сайт/parser.php’); echo $content; [/php]

Как видите, все просто. Проверяем работу скрипта, опубликовав запись. Если наблюдаются иероглифы в спарсенном контенте, последнюю строчку в этом коде перезаписываем на что-то типа этого: echo iconv(«windows-1251», «UTF-8», $content);

Со значениями windows-1251 и UTF-8 играем, переставляя (зависит от начальных кодировок сайта донора и пациента).

Предупреждаю, что это самая простая реализация парсера на php, но в некоторых случаях большего и не требуется.

С вами был Вячеслав, на возникшие вопросы отвечу в комментариях.

от admin

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *