Портфолио

Главная » Блог » Все для WEB Мастера » Примеры граббера страницы и RSS грабберов

  • Css Template Preview
  • Css Template Preview
  • Css Template Preview
  • Css Template Preview
  • Css Template Preview

Примеры грабберов

Грабер RSS Вариант 1

$url='http://rche.ru/feed';
$xml = xml_parser_create();     //создаёт XML-разборщик
xml_parser_set_option($xml, XML_OPTION_SKIP_WHITE, 1);  //устанавливает опции XML-разборщика
xml_parse_into_struct($xml, file_get_contents($url), $element, $index); //разбирает XML-данные в структуру массива, все передается в массив $index
xml_parser_free($xml);  //освобождает XML-разборщик
 
// печать новостей из ленты
 
for ($i=0; $i < count($index);$i++){
 
$title=$element[$index["TITLE"][$i]]["value"]; // получаем заголовок
$link=$element[$index["LINK"][$i]]["value"]; // получаем ссылку на новость
 
echo "<a href=\"$link\">$title</center></a>";
}

Грабер Гороскопа RSS Вариант 1

<?php
$horo = simplexml_load_string(file_get_contents('http://img.ignio.com/r/export/utf/xml/daily/com.xml')); ?>
?>
<?php
echo "<h1>Гороскоп Рак:</h1>";
echo '<hr />Вчерашний: ', date('d.m.Y',strtotime('-1 day')), $horo->aries->yesterday;
echo '<hr />На сегодня: ', date('d.m.Y'), $horo->aries->today;
echo '<hr />На завтра: ', date('d.m.Y',strtotime('+1 day')), $horo->aries->tomorrow;
echo '<hr />На послезавтра: ', date('d.m.Y',strtotime('+2 day')), $horo->aries->tomorrow02;
?>

<?php
echo "<h1>Гороскоп Телец:</h1>";
echo '<hr />Вчерашний: ', date('d.m.Y',strtotime('-1 day')), $horo->taurus->yesterday;
echo '<hr />На сегодня: ', date('d.m.Y'), $horo->aries->today;
echo '<hr />На завтра: ', date('d.m.Y',strtotime('+1 day')), $horo->taurus->tomorrow;
echo '<hr />На послезавтра: ', date('d.m.Y',strtotime('+2 day')), $horo->taurus->tomorrow02;
?>

Грабер страницы
<? //----------------------------------------------------------- // Граббер цитат с Цитатника Рунета bash.org.ru // Загружает и парсит главную страницу, цитаты помещает в массив //----------------------------------------------------------- // Получить html-страницу $grab=@file_get_contents("http://bash.org.ru"); if ($grab) {   // Заменить теги переноса строки на простые переносы строки   $grab=str_replace("<br>","\n",$grab);   // Получить регулярным выражением тексты цитат   preg_match_all("/<div class=\"vote\">([^>]*>){12}([^<]*)/",$grab,$matches);   // В массиве содержатся все найденные строки   for ($i=0$i<count($matches[2]); $i++) {     echo nl2br($matches[2][$i]);     echo '<hr>';   } } else {   echo "Connection Error"; } ?>


Грабер CSV   <? //----------------------------------------------------------- // Граббер курса доллара с Яндекса // Загружает в массив курс доллара за период с 01.01.1998 по // сегодняшнее число //----------------------------------------------------------- // Получить csv-файл и занести его в массив $grab=@file("http://www.yandex.ru/s/1.csv"); if (count($grab)) {   for ($i=0$i<count($grab); $i++) {     // Разобрать строку массива на дату и курс     list($v_date$v_kurs)=explode(";",$grab[$i]);     echo "Дата: ".$v_date." - Курс: ".$v_kurs;     echo '<hr>';   } } else {   echo "Connection Error"; } ?>

Еще один парсер CSV  
Выдраем урлы из файла csv

$file=file("csv.csv");
$c=count($file);
for($i=0;$i<$c;$i++){
$line=explode(",",$file[$i]);
//print_r($line);
$url=str_replace(""","",$line[10]);
echo "http://".$url."<br>";
$url="http://".$url."\n";
$fp=fopen("links.txt","a");
fwrite($fp,$url);
fclose($fp);
$url="";
}


Парсер контента записывающий в файл

<?php

 
//Настройки парсера

 
//URL для парсинга контента

  $url
= 'http://www.cy-pr.com/news/2583/';

 

 
//Стартовый тег для парсинга контента

 
//тег который стоит перед началом нужного участка кода для парсинга

 
//и используется 1 раз

  $start
= '<div class="l-content">';

 

 
//Конечный тег участка кода для парсинга

 
//Тег который стоит после нужного участка который будем парсить

  $finish
= '<br class="clear"/>';

 

 
//Создаём функцию парсера

 
function parser($url,$start,$finish) {

 

 
//Получаем весь код страницы

  $content
= file_get_contents($url);

 

 
//Ищем позицию с которой мы будем вырезать код для дальнейшего использования

  $position
= strpos($content, $start);

 

 
//Вырезаем нужный блок

  $content
= substr($content, $position);

  $position
= strpos($content, $finish);

 

 
//Вырезаем код

  $content
= substr($content, 0, $position);

 

 
//Вырезаем HTML теги

 
//Для добавления\удаления используемых тегов допишите\удалите теги

  $content
= strip_tags($content, '<p><a>');

 

 
//Debug (Проверка того, что выводит парсер)

 
//echo nl2br($content);

 

 
//Открываем файл для чтения и перезаписи

  $fp
= fopen('article.txt', 'write');

 

 
//Записываем код в файл

  fwrite
($fp, nl2br($content));

 

 
//Закрываем файл

  fclose
($fp);

 

 
//Возвращаем напарсеный контент

 
return $content;

 
}


 //Вызываем функцию парсинга

  parser
($url, $start, $finish);

 
?>

 



Оставить свой комментарий

  • Поля обязательны для заполнения *.

If you have trouble reading the code, click on the code itself to generate a new random code.
 
 
levitra online pharmacy canada viagra france acheter kamagra oral jelly mit paypal kaufen arcoxia 90 mg kaufen