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

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 ленте:
attachment.php

Сам код:
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/ (не реклама)
 

Вложения

  • hlmod.jpg
    hlmod.jpg
    94.8 КБ · Просмотры: 270

Andrey

пишу код за еду
Сообщения
3,386
Реакции
4,019
  • Команда форума
  • #2
Re: Парсер игровых новоытей с lenta.ru

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

vectorserver

♥♥♥♥♥ by game.cominet.ru
Сообщения
201
Реакции
246
Re: Парсер игровых новоытей с lenta.ru

А хранятся новости где? Или каждый раз при заходе на страницу парсятся новые данные?
ЕСли раскоментировать строку //file_put_contents (date ('H-i') . '.html', $out); на file_put_contents (date ('H-i') . '.html', $out);
то новости хранятся в папке со скриптом по дате
 

_Lexa_

Участник
Сообщения
846
Реакции
260
Re: Парсер игровых новоытей с lenta.ru

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

vectorserver

♥♥♥♥♥ by game.cominet.ru
Сообщения
201
Реакции
246

Sw[E]n

|So RanDom|
Сообщения
98
Реакции
16
для dle аналоги есть?а то грабберы не для меня
 

_Lexa_

Участник
Сообщения
846
Реакции
260
vectorserver, Сам скрипт работает но подружить его с Feed Gator не получается.
Можешь помочь с настройками Feed Gator?
 

_Lexa_

Участник
Сообщения
846
Реакции
260
Кто нибудь реализовал данным методом граббинг новостей?
 

otitov

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

fallen1994

Участник
Сообщения
2,357
Реакции
538
Спасибо за граббер, немного его подшаманил под dle, настроил добавление новостей в базу данных, добавил немного кода для заливки картинок на сервер, работает, что надо. :)
Лучше бы не языком трепал, а выложил сюда как ты все это сделал и тд, многим думаю пригодится, или мог бы вообще молчать и не говорить ничего этого.
Вывод: Либо сказочник, либо молодец, но молодцы должны выкладывать что сделали)
 
Сверху Снизу