RSS граббинг

Статус
В этой теме нельзя размещать новые ответы.

genarator2003

Постоялец
Регистрация
23 Авг 2007
Сообщения
115
Реакции
8
Граблю RSS с лент, в ленте имеется новостей 20 я их добавляю в БД.
Как мне добавлять только свежие новости те которые мной не были скачаны.
например я скачал с RSS 20 новостей на след день файл обновился и там 3 новости новых + 17 старых. Как мне определить именно эти 3 свежие новости?
 
лично я хранил уже сграбленные новости. по заголовку определял свежесть. возможно есть другие варианты, например проверить схожесть с другими новостями с помощью Для просмотра ссылки Войди или Зарегистрируйся
 
а чем грабиш?
явно заголовки будут совпадать, просто поставь условие если новость с таким титлом есть ее пропускать.
 
лично я хранил уже сграбленные новости. по заголовку определял свежесть. возможно есть другие варианты, например проверить схожесть с другими новостями с помощью Для просмотра ссылки Войди или Зарегистрируйся
а чем грабиш?
явно заголовки будут совпадать, просто поставь условие если новость с таким титлом есть ее пропускать.

да можно проверять по нахождению заголовка в БД, но чую я что есть другой более рациональный способ ведь все эти RSS читалки как-то смотрят новость была уже у них или нет неужели все заголовки хранят? как-то нерационально



Граблю вот таким куском кода:
PHP:
$img_patch="image/";
  $filename = 'mainnews.rss';
  $rss_url = 'http://static.feed.rbc.ru/rbc/internal/rss.rbc.ru/realty.rbc.ru/mainnews.rss';
  $host_url="http://realty.rbc.ru";
  if (!file_exists($filename)) { // Закачка XML
		// Закачать и сохранить
		download($rss_url, $filename);
	}
	
	// Создание объекта SIMPLEXML и загрузка документа
	$xml = simplexml_load_file($filename); 	
	
	//$i = 0; Если грабить 
	foreach ($xml->channel->item as $item) {
		$title = $item->title;
		$description = $item->description;
		$link[] = $item->link;

Потом рабираю массив ссылок и захожу скриптом на сайт для скачивания и разбора html кода новости
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху