![]() |
Rss - как экспортировать себе на сайт
Сейчас много сайтов предлагают экспорт новостей в формате RSS, предлагая для этого УРЛ типа _http://news.yandex.ru/index.rss.
Так вот, у меня есть сайт, и я хочу размещать их новости, что надо для это сделать? |
|
Я там читал, только ничего не понял...
Ты можешь на конкретнои примере привести, что надо прописать в php? |
PHP код:
|
RaZEr, спасибо за желание помочь!
но я все равно не смог разобраться в этом :idontnow: придется оставить эту затею. |
А можете показать готовый php код, который бы работал?
Например который бы показывал: _http://news.yandex.ru/index.rss на моей страничке. :help: |
Цитата:
|
кушайте не обляпайтесь :-) http://www.php.com.ua/tips/18/ добавлена поддержка php5 :-) теперь все стало проще.
|
|
нам-бы кряку к ней
|
Воспользовался приведенным выше скриптом. Выдается ошибка:
Warning: main(XML/RSS.php): failed to open stream: No such file or directory in /usr/home/.../index1.php on line 160 Fatal error: main(): Failed opening required 'XML/RSS.php' (include_path='.:/usr/local/lib/php') in /usr/home/.../index1.php on line 160 К чему бы это? И как это побороть? |
Зайди на сайт PEAR (pear.php.net), скачай библиотеку для работы с RSS и поставь.
|
А может быть есть специальные скрипты для этих целей?
Или даже программые продукты. Интересует именно импорт чужих новостей на свой сайт. Например, если каналов много разных и в зависимости от запроса у меня новости тоже разные выводятся. Если кто-то использует на своем сайте, покажите как у вас это выглядит. :) |
miXei, а в чем проблема? Используешь все вышесказанное. Что тебе мешает в зависимости от запроса использовать тот или иной файл в твоем кеше и соостветсвующий ему источник. Например до скрипта
RaZEr используешь конструкцию что-то вроде Код:
switch ($cod) _http://www.yourdomen.ru/news.php?cod=news1 Потом просто меняешь соответсвующую строку на $rss = file_get_contents($rss_url); Еще можно загнать эти два параметра для каждого варианта в массив. И забирать их оттуда по индексу, передаваемому опять же в URL. |
|
А может подсказать подобный код для Perl?
|
Цитата:
http://cpan.uwinnipeg.ca/dist/RSS-Parser-Lite http://cpan.uwinnipeg.ca/dist/HTML-RSSAutodiscovery http://cpan.uwinnipeg.ca/dist/XML-RSS http://cpan.uwinnipeg.ca/dist/XML-RSS-Feed http://cpan.uwinnipeg.ca/dist/XML-RSS-Parser http://cpan.uwinnipeg.ca/dist/XML-RSSLite http://cpan.uwinnipeg.ca/dist/XML-RSS-LibXML http://cpan.uwinnipeg.ca/dist/XML-RSS-TimingBot ..... Вобщем выбор-то огромный - http://cpan.uwinnipeg.ca/dist/XML/ |
а как удаленный файл получить? какой есть аналог
$rss = file_get_contents("http://www.php.net/news.rss"); ? |
Цитата:
вот пример http://cvs.sourceforge.net/viewcvs.p...viewcvs-markup http://curl.haxx.se/libcurl/perl/ А вообще, как всегда, вариантов несколько, еще один популярный для ПЕРЛа libwww: http://lwp.linpro.no/lwp/ P.S. Если даже файл на ПЕРЛе не прочитать самостоятельно, может и не стоит тогда на нем писать? :confused: :) |
Скажите как с моего сайта сделать чтоб мои новости экспортировали???
У меня формат файла не rss и не xml ! А формат .php который выглядит как rss.... Скажите код для вывода его ? |
Цитата:
А если вы выводите на PHP свои новости в формате RSS, то никаких проблем и нету - просто кто-то может себе экспортировать указанным выше способом вывод этих данных, главное чтобы отдаваемый Вами документ был валиден. |
Решил я тут все-таки написать аналогичный скрипт на Perl.
Нам понадобятся два модуля: LWP::Simple - взятие содержимого файла с другого сайта XML::RSS - парсер для RSS. Если вы его ставите, то в подкаталог Perl, где лежат файлы .enc модуля необходимо скопировать соответсвующие файлы с тем же расширением из этого архива cyrillic - модуль для работы и конвертирования кириллического текста. Вот сам код: Код:
use LWP::Simple; |
Методом неимоверных научных тыков нашел как решить проблему под Windows. Соответсвующие изменения внес в предыдущий пост. Потом попробую у хостера под Unix все опробовать - у него модули ставить надо.
|
search.cpan.org/dist/Text-Iconv/Iconv.pm
|
Первый раз в суппорте мне сказали "ставьте модули себе"... Пришлось осваивать эту науку. В результате у меня появилось впечатление, что ActivePerl под винды при установке модуля сразу смотрит какие ему нужны и ставит и их. Потому что мне пришлось много чего ставить. Итак, полный список необходимых модулей:
LWP::Simple (как правило у хостеров стоит уже) XML::RSS + Russian encodings pack cyrillic XML::Parser Unicode::String После того, как поставил все необходимое, приведенный скрипт заработал. Теперь у меня такая проблема: в RSS дата и время поста храниться в подобном виде: Fri, 23 Jun 2006 14:18:08 +0300 Можно из этого как то просто сформировать дату и время в более удобоваримом виде? Особенно дату, чтобы месяц был по русски? Я пока просто убрал "лишнее": Код:
$cc=$item -> {'pubDate'}; |
если есть Date::Manip, можно просто им распарсивать исходную строку, после чего снова собирать ее в нужный стринг. К примеру:
Код:
use Date::Manip; |
Есть много скриптов которым только дай адрес они тебе сами все экспортируют и выдят как нужно... к примеру rssEcualizer, Auto Blog Builder и т.д... но их целесообразно ипользовать если нужно грабить много фидов если с одного то лучше скрипт пройтой взять.
|
| Часовой пояс GMT +4, время: 11:45. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.