RSS граббинг

Тема в разделе "Как сделать...", создана пользователем genarator2003, 10 дек 2009.

Статус темы:
Закрыта.
  1. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    Граблю RSS с лент, в ленте имеется новостей 20 я их добавляю в БД.
    Как мне добавлять только свежие новости те которые мной не были скачаны.
    например я скачал с RSS 20 новостей на след день файл обновился и там 3 новости новых + 17 старых. Как мне определить именно эти 3 свежие новости?
     
  2. sw04

    sw04 seoplayer

    Регистр.:
    1 дек 2007
    Сообщения:
    601
    Симпатии:
    193
    лично я хранил уже сграбленные новости. по заголовку определял свежесть. возможно есть другие варианты, например проверить схожесть с другими новостями с помощью similar_text
     
  3. rktua

    rktua

    Регистр.:
    27 окт 2008
    Сообщения:
    157
    Симпатии:
    38
    а чем грабиш?
    явно заголовки будут совпадать, просто поставь условие если новость с таким титлом есть ее пропускать.
     
  4. genarator2003

    genarator2003 Постоялец

    Регистр.:
    23 авг 2007
    Сообщения:
    113
    Симпатии:
    8
    да можно проверять по нахождению заголовка в БД, но чую я что есть другой более рациональный способ ведь все эти 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 кода новости
     
Статус темы:
Закрыта.