Заправка картриджей. Картриджи. Ремонт оргтехники. Ремонт компьютеров и ноутбуков. Запчасти для принтера. Радиодетали
Интернет магазин Агос 24 в новосибирске, расходные материалы к ортгтехнике
г Новосибирск
Самовывоз пр.К.Маркса 24(М Студенческая)
Где еще получить
Отправка в регионы СДЭК, Почта,ТК
тел.+7 (383) 381-97-86
тел.+7 (951) 376-20-91
E-mail: info@agos24.ru

ВНИМАНИЕ АКЦИЯ!

Успейте раньше других купить картриджи и расходные материалы по супер цене !

Все кто в период с 18:00:01 19.10.2018 по 23:59:59 21.10.2018 оформит и оплатит заказ.
Стоимость товара указана с учетом всех скидок, расчет доставки в регионы будет произведен 22.10.18 г. 

Парсим контент к себе на сайт

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

Допустим, интересующая нас информация есть на каком-нибудь стороннем сайте и там же обновляется. Разумеется, можно периодически посещать сайт с информацией, копировать ее оттуда и обновлять у себя на сайте пресловутыми: 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, но в некоторых случаях большего и не требуется (для большинства блогеров).

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


Защитный код
Обновить

Xарактеристики, комплект поставки и внешний вид данного товара могут отличаться от указанных или могут быть изменены производителем без отражения в каталоге. Приведенные на нашем сайте цены, характеристики, количество товаров, а так же информация об их наличии на складе носят ознакомительный характер и не являются публичной офертой, определенной пунктом 2 статьи 437 ГК РФ. Для получения информации о характеристиках товаров, их наличии и стоимости необходимо связаться с менеджерами нашей компании. Оплата производится только после подтверждения резерва.