Граббер новостей Topic is solved
Граббер новостей
Есть ли граббер новостей для cmsms с лента ру например, чтоб тематику можно было выставить авто, мото.
Re: Граббер новостей
Граббер занимает 7 строк кода:
Code: Select all
$rss = simplexml_load_file('http://lenta.ru/rss/');
$result = $rss->xpath('//item/category[text()="Авто"]/..');
if ($result) {
foreach($result as $item) {
echo "<li><a href=\"$item->link\"><span>$item->title</span></a></li>";
}
}
Re: Граббер новостей
$rss = simplexml_load_file('http://lenta.ru/rss/');
$result = $rss->xpath('//item/category[text()="Авто"]/..');
if ($result) {
foreach($result as $item) {
echo ";link\">$item->title";
}
}
Этот код в шаблон вставлять?
$result = $rss->xpath('//item/category[text()="Авто"]/..');
if ($result) {
foreach($result as $item) {
echo ";link\">$item->title";
}
}
Этот код в шаблон вставлять?
Re: Граббер новостей
Выдает ошибку
string(229) "Smarty error: [in tpl_body:23 line 202]: syntax error: unrecognized tag: foreach($result as $item) { echo "
link\">$item->title
"; (Smarty_Compiler.class.php, line 446)" string(112) "Smarty error: [in tpl_body:23 line 202]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 590)"
string(229) "Smarty error: [in tpl_body:23 line 202]: syntax error: unrecognized tag: foreach($result as $item) { echo "
link\">$item->title
"; (Smarty_Compiler.class.php, line 446)" string(112) "Smarty error: [in tpl_body:23 line 202]: syntax error: unrecognized tag '' (Smarty_Compiler.class.php, line 590)"
Re: Граббер новостей
Эм... Если такие вопросы, не лучше ли нанять программиста? ))
Код который я дал - это скрипт PHP. Его можно вставить, например, в тег пользователя. Создаете тег под именем lenta_rss, вставляете в него мой код. А в шаблоне пишете:
Но данное решение - не есть гуд, т.к. при каждом обращении к странице будет запрос к RSS стороннего сайта (это может тормозить загрузку, увеличивать трафик и злить хозяев RSS). Лучше делать запросы на обновление новостей по расписанию, раз в час, и сохранять результат в файл, из которого уже вставлять на страницу.
И еще момент - на ленте.ру для авто-новостей есть своя лента новостей: http://auto.lenta.ru/l/r/EX/yandexfull.rss
Если нужны именно авто-новости, лучше брать их из этой ленты. Но тогда нужно изменить скрипт обработки xml, который я дал.
Код который я дал - это скрипт PHP. Его можно вставить, например, в тег пользователя. Создаете тег под именем lenta_rss, вставляете в него мой код. А в шаблоне пишете:
Code: Select all
<ul>
{lenta_rss}
</ul>
И еще момент - на ленте.ру для авто-новостей есть своя лента новостей: http://auto.lenta.ru/l/r/EX/yandexfull.rss
Если нужны именно авто-новости, лучше брать их из этой ленты. Но тогда нужно изменить скрипт обработки xml, который я дал.
Re: Граббер новостей
Спасибо! Все работает. А можно это сделать по другому?
Например чтоб вывести дополнительный раздел, скажем Новости.
Пользователь заходит в него и видит анонс новости, скажем сивволов 300 и маленькую картинку к новости, скажем 100 на 80.
Клацает по новости и читает без перехода на сайт ленты ру, на моем сайте новость с нормального размера картинкой.
И вы говорили что можно это реализавать как-то чтоб каждый час на мой сервак парсилось и потом вывадилось.
Если у вас есть такой скрипт, дайте в личку, с меня плюшка.
Например чтоб вывести дополнительный раздел, скажем Новости.
Пользователь заходит в него и видит анонс новости, скажем сивволов 300 и маленькую картинку к новости, скажем 100 на 80.
Клацает по новости и читает без перехода на сайт ленты ру, на моем сайте новость с нормального размера картинкой.
И вы говорили что можно это реализавать как-то чтоб каждый час на мой сервак парсилось и потом вывадилось.
Если у вас есть такой скрипт, дайте в личку, с меня плюшка.
Re: Граббер новостей
Чтобы грабить всю новость - это надо парсить уже html, который может непредсказуемо меняться. Т.е. это не очень хорошо, мягко говоря.
Re: Граббер новостей
Скрипт есть, но он довольно сложен, т.к. создавался для другой задачи. Проще новый написать, чем тот править. Но суть проста - обновление какого-то файла по расписанию, из которого берутся анонсы новостей, погода, курс валюты или что-то подобное.Pepyaka111 wrote: Если у вас есть такой скрипт, дайте в личку, с меня плюшка.
Re: Граббер новостей
в каком шаблоне?Fenik17 wrote: А в шаблоне пишете:Code: Select all
<ul> {lenta_rss} </ul>
Re: Граббер новостей
В контенте страницы (это, по сути, тоже smarty-шаблон).Brodyga wrote: в каком шаблоне?