Парсер игровых новостей с lenta.ru

Тема в разделе "Полезные статьи и материалы", создана пользователем vectorserver, 2 ноя 2011.

  1. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Недавно мне надоело самомстоятельно наполнять контент игровыми новостями, новости постоянно брал с http://lenta.ru/game/ и вот решил написать парсер новостей для моего портала.

    Пример работы парсера:
    1. Берем ссылку RSS - http://lenta.ru/rss/news/game/ (парсер также подходит и для других разделов сайта lenta.ru)
    2. Вбиваем ее в адресную строку - http://ваш_сайт.ru/parser.php?pars=http://lenta.ru/rss/news/game/
    И забераем полные новости по RSS ленте:
    [​IMG]
    Сам код:
    PHP:
    <?php
    //Get запрос rss
    $rss $_GET['pars'];
    //Проверяем ссылку на ленту
    $xml = @simplexml_load_file($rss);
     if ( 
    $xml===false ) die('У этого сайта нет RSS: '.$rss);
     
    //Подгружаем XML
      
    foreach ( $xml->xpath ('//item') as $item ) {
        
    $url file_get_contents($item->link); // парссим ссылку на полную новость
        
    preg_match_all('!<TD class=zpic>(.*)</TD>.*<H2>(.*)</H2>.*</TABLE>(.*)<P class=links>!isU'$url$resPREG_SET_ORDER);
        
    $fulltext preg_replace("#<a.+?>(.+?)</a>#is","$1",$res[0][3]);
        
    $img preg_replace('!<img(.+?)>!isU',"<img $1 style='float:left;margin:3px;'>",$res[0][1]);
        
    //print_r ($res);
        
        
    $out "<table>
                    <tr>
                        <td>
                            <h1>
    {$res[0][2]} - дата: {$item->pubDate}</h1>
                            <p>
    {$img}{$fulltext}</p>
                        </td>
                    </tr>
                </table>"
    ;
        echo 
    $out;
      }
      
    //file_put_contents (date ('H-i') . '.html', $out);
      //echo $out;
    ?>


    Пример можно глянуть у меня на сайте http://game.cominet.ru/ (не реклама)
     

    Вложения:

    • hlmod.jpg
      hlmod.jpg
      Размер файла:
      97,7 КБ
      Просмотров:
      257
    CTe6eJIeK_vRn и Andrey нравится это.
  2. Andrey

    Andrey Администратор

    Сообщения:
    3.234
    Симпатии:
    3.507
    Re: Парсер игровых новоытей с lenta.ru

    А хранятся новости где? Или каждый раз при заходе на страницу парсятся новые данные?
     
  3. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Re: Парсер игровых новоытей с lenta.ru

    ЕСли раскоментировать строку //file_put_contents (date ('H-i') . '.html', $out); на file_put_contents (date ('H-i') . '.html', $out);
    то новости хранятся в папке со скриптом по дате
     
    Andrey нравится это.
  4. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Re: Парсер игровых новоытей с lenta.ru

    vectorserver, Распиши поподробней как сделать в joomla, а то второе предложение от тебя а толку 0
     
  5. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Re: Парсер игровых новоытей с lenta.ru

    Это заготовка на скорую руку.
    Ниже компонент

    http://joomlacode.org/gf/download/frsrelease/14916/65066/com_feedgator_2.3.3RC2.zip
     
  6. Sw[E]n

    Sw[E]n |So RanDom|

    Сообщения:
    98
    Симпатии:
    17
    для dle аналоги есть?а то грабберы не для меня
     
  7. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    vectorserver, Сам скрипт работает но подружить его с Feed Gator не получается.
    Можешь помочь с настройками Feed Gator?
     
  8. vectorserver

    vectorserver ♥♥♥♥♥ by game.cominet.ru

    Сообщения:
    201
    Симпатии:
    243
    Тогда используй сервис от Хабрахабрян - http://readbox.info/
    НЕ умею учить если чесно
     
  9. _Lexa_

    _Lexa_

    Сообщения:
    847
    Симпатии:
    259
    Кто нибудь реализовал данным методом граббинг новостей?
     
  10. otitov

    otitov

    Сообщения:
    1
    Симпатии:
    0
    Спасибо за граббер, немного его подшаманил под dle, настроил добавление новостей в базу данных, добавил немного кода для заливки картинок на сервер, работает, что надо. :)
     
  11. fallen1994

    fallen1994

    Сообщения:
    2.347
    Симпатии:
    544
    Лучше бы не языком трепал, а выложил сюда как ты все это сделал и тд, многим думаю пригодится, или мог бы вообще молчать и не говорить ничего этого.
    Вывод: Либо сказочник, либо молодец, но молодцы должны выкладывать что сделали)