Парсинг — это быстрое добавление контента в необходимый источник. Если необходимо добавить к себе на сайт кусочек статьи из другого сайта — например афиша спектаклей или расписание трамваев или погоду — то пожалуйста.
Как это сделать? Подробное описание на сайте 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> </td><td> </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, но в некоторых случаях большего и не требуется.
С вами был Вячеслав, на возникшие вопросы отвечу в комментариях.