vectorserver
♥♥♥♥♥ by game.cominet.ru
- Сообщения
- 201
- Реакции
- 246
Недавно мне надоело самомстоятельно наполнять контент игровыми новостями, новости постоянно брал с 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 ленте:
Сам код:
Пример можно глянуть у меня на сайте http://game.cominet.ru/ (не реклама)
Пример работы парсера:
1. Берем ссылку RSS - http://lenta.ru/rss/news/game/ (парсер также подходит и для других разделов сайта lenta.ru)
2. Вбиваем ее в адресную строку - http://ваш_сайт.ru/parser.php?pars=http://lenta.ru/rss/news/game/
И забераем полные новости по RSS ленте:
Сам код:
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, $res, PREG_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/ (не реклама)