Как сделать грабер новостей?

12
Yurecm
На сайте с 25.02.2007
Offline
233
1725

Интересуюет грабер новостей как из рсс так и из html

Где можно посмотреть код конретных примеров?

Может у кого нить есть свои примеры, буду рад поизучать и разобраться на них

Заранее благодарю.

BM
На сайте с 21.12.2007
Offline
12
#1

Нужно изучить работу RSS

Все остальное - дела техники

Для wordpress - "Smart RSS" и "FeedWordPress"

[Удален]
#2

для php - preg_match_all ;)

Web-Silver
На сайте с 02.05.2007
Offline
256
#3

Yurecm, самое простое:

<?php

// Трансляция новостей с 3DNews.ru
// http://www.3dnews.ru/news/rss/

// Имя файла для хранения RSS на локальном сервере
$filename = 'rss/3dnews.xml';
// URL RSS потока
$rss_url = 'http://www.3dnews.ru/news/rss/';

// Закачка файлов XML
// Произвести проверку на то, что файл уже закачен
if (!file_exists($filename)) {
// Закачать и сохранить
download($rss_url, $filename);
}

// Создание объекта SIMPLEXML и загрузка документа
$xml = simplexml_load_file($filename);

$i = 1;
foreach ($xml->channel->item as $item) {
$title = $item->title;
$description = $item->description;
$link = $item->link;
echo '<h3>' , iconv("UTF-8","windows-1251", $title) , '</h3>';
echo '<p>' , iconv("UTF-8","windows-1251", $description) , ' <a href="' , $link , '">' . 'продолжение</a>...</p>';
$i++;
if ($i > 5) break; // Не более 5 анонсов новостей
}

// Проверка на то, что если файл устарел более, чем на 12 часов - качать и сохранить новый
if (time() > filemtime($filename) + 60*60*12) {
// Закачать и сохранить
download($rss_url, $filename);
}

#################################################################################################################
function download($url, $filename) {
// Закачать файл с указанного URL и сохранить с определенным именем
$file = file_get_contents($url);
if ($file) file_put_contents($filename, $file);
}
?>
Watson
На сайте с 02.07.2007
Offline
111
#4

Есть готовое решение новостной сайт, не желаете заказать?

[Удален]
#5

У меня есть алгоритм который из обычной html страницы выделяет текст статьи...

Yurecm
На сайте с 25.02.2007
Offline
233
#6

Web-Silver, спасибо но

Fatal error: Call to undefined function: file_put_contents() in z:\home\cms.ru\ on line 41

ЧерныйKот:
У меня есть алгоритм который из обычной html страницы выделяет текст статьи...

Отлично, код покажите.

Watson:
Есть готовое решение новостной сайт, не желаете заказать?

Мне если честно нужно только посмотреть как реализовано все это, скиньте код грабление новости в личку.

DI
На сайте с 03.01.2007
Offline
123
#7

Yurecm, http://ru2.php.net/file_put_contents:

file_put_contents
(PHP 5)

Функция идентична последовательному вызову функций fopen(), fwrite() и fclose(). Возвращаемым функцией значением является количество записанных в файл байтов.
Высказывание идиотского утверждения требует на порядок меньше усилий, чем его последовательное и обоснованное опровержение и более того, иногда это опровержение вообще невозможно. © (http://zhurnal.lib.ru/s/shapiro_m_a/raspidiota.shtml)
svarog
На сайте с 14.01.2004
Offline
134
#8

Вот еще один пример граббера :)

topy
На сайте с 28.03.2006
Offline
142
#9

ЧерныйKот, Вы или дайте народу или продайте народу, а понтоваться тут не стоит.

Новости коротко и ясно (https://subnews.ru)
Jeck
На сайте с 20.07.2006
Offline
82
#10

ЧерныйKот, ну и у меня есть и что? http://jeck.ru/labs/AI/ продавать не буду - не благодарное это занятие.

Мой блог (http://jeck.ru)
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий