Забыли пароль?
Запросите новый здесь.

Автор темы: Alex
ID темы: 1615
Информация:
Тема содержит 27 сообщения, была просмотрена 38683 раз.  Имеются прикрепленные файлы.
Просмотр темы
PHP-Fusion Russia » Поддержка 7 версии » Народное творчество
 Распечатать тему
парсер новостей
Alex
по просьбам сообщества выкладываю код парсера который у меня есть

Скачать исходники  Код
<?php

if (!defined("IN_FUSION")) { die("Access Denied"); }


$rss = "http://www.consultant.ru/rss/hotdocs.xml"; //Лента RSS


$filename = INFUSIONS."sib_rss_panel/rss/info.rss";

$modif = time()-@filemtime ("$filename");
if(!file_exists($filename) || $modif > 6400)
  {
   $rss = file_get_contents($rss);
   
   $handle = fopen ("$filename", "w");
   fwrite($handle, $rss);
   
   fclose($handle);
  }

$RSS = simplexml_load_file($filename);
$state="off";
//$boxname = "1";


openside();

foreach ($RSS->channel->item as $item) {
$item->description = iconv("UTF-8","WINDOWS-1251",$item->description);
$item->title       = iconv("UTF-8","WINDOWS-1251",$item->title);

    echo "<a href=\"".$item->link."\" title=''>".$item->title."</a><br /><br />";
//$boxname++;

}
closeside();
?>





это можно вставить на доп страницу либо сделать отдельную панель

$rss = "http://www.consultant.ru/rss/hotdocs.xml"; //Лента RSS здесь указываете адрес rss потока
x1 x1 x1 x1
 
Web
SchreiBear
Alex,


ошибку кажет
Parse error: syntax error, unexpected '<' in /users/irinchik/www/themes/templates/panels.php(74) : eval()'d code on line 1
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
SchreiBear
Alex, у меня хостер от всех напастей подстраховался


вот эти функции не пашут

file_get_contents
simplexml_load_file
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Polarfox
edmonsur, спроси его, что вообще пашет.
Оффтопик Предложи отключить и отдачу от сервера, а то вдруг школохакир скачает файл с паролем.

Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
SchreiBear
PolarFox, спросилag

Safemode Нет
RegisterGlobals Нет
Поддержка GD (версия) Да (2.0)
Поддержка zlib Да
Поддержка Magic_quotes_gpc Нет
Загружаемые файлы (максимальный размер файла) Да (128MB)
Показать ошибки Да
Недоступные функции disk_free_space, diskfreespace, disk_total_space, dl, error_log, exec, fsockopen, get_current_user, getrusage, leak, link, mb_send_mail, openlog, passthru, pfsockopen, popen, proc_close, proc_get_status, proc_nice, proc_open, proc_terminate, shell_exec, symlink, syslog, system

и это только те каторые фьюжен выдал... а если в админ ку войти на хосте...там ещё пару другую функций будет


ТАК ЗА ТО И ХАЛЯВАag
Изменил(а) SchreiBear, 20.06.2013 03:45
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
SchreiBear
PolarFox написал:

edmonsur, спроси его, что вообще пашет.
Оффтопик Предложи отключить и отдачу от сервера, а то вдруг школохакир скачает файл с паролем.


PolarFox, кстати пока не забыл что за пароль? ...да там брать то нечего... пара другая домашних сайтов ...

Я тут тренируюсь... Сайт моей дамы сердца...сидят там в чате с подругами ...ля ля топа ля и форум иногда разрисовывают ...ВСЁ ... если даже с этим сайтом что то станет не велика потеря... у меня один кайф пока дома не на работе есть чем заняться ..выйду вот опять на работу некогда будет


P.S а у меня другой сайт есть...там технологии передовые малость по круче будет Фьюжика...


contao cms
Изменил(а) SchreiBear, 20.06.2013 04:08
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
jikaka
Alex, что парсер делает то?
 
Web
Polarfox
edmonsur, пароль для примера взят, странная халява, наверно гавносаеты там часто лепят вот и ...
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
Vova
edmonsur, А если так:

Загрузить источник  GeSHi: PHP
  1. function curl_get_file_contents($URL) {
  2. $c = curl_init();
  3. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  4. curl_setopt($c, CURLOPT_URL, $URL);
  5. $contents = curl_exec($c);
  6.  
  7. if ($contents) return $contents;
  8. else return FALSE;
  9. }
Добавлено за 0.024 секунд, используя GeSHi 1.0.8.10


curl
Изменил(а) Vova, 20.06.2013 06:48
 
Web
Alex
jikaka, новости берет из rss ленты другого сайта, пример его работы http://www.izh-ad...page_id=31 и показывает заголовок ссылку
 
Web
Vova
edmonsur, или так:

Загрузить источник  GeSHi: PHP
  1. function getFileContents($url) {
  2. global $user_agent;
  3. $i = new idna_convert();
  4. $url = $i->encode($url);
  5. $process = curl_init($url);
  6. $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  7. $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  8. $header[] = "Cache-Control: max-age=0";
  9. $header[] = "Connection: keep-alive";
  10. $header[] = "Keep-Alive: 300";
  11. $header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
  12. $header[] = "Accept-Language: en-us,en;q=0.5";
  13. $header[] = "Pragma: ";
  14. curl_setopt($process, CURLOPT_HTTPHEADER, $header);
  15. curl_setopt($process, CURLOPT_HEADER,0);
  16. curl_setopt($process, CURLOPT_RETURNTRANSFER, 1);
  17. curl_setopt($process, CURLOPT_ENCODING, 'gzip,deflate');
  18. // curl_setopt($process, CURLOPT_VERBOSE,1);
  19. // curl_setopt($process, CURLOPT_COOKIEFILE, 'tmp/cookiefile');
  20. // curl_setopt($process, CURLOPT_COOKIEJAR, 'tmp/cookiefile');
  21. curl_setopt($process, CURLOPT_USERAGENT, 'Vovabot/12.34');
  22. // curl_setopt($process, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
  23. // curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1);
  24. // curl_setopt($process, CURLOPT_HTTP_VERSION,'HTTP/1.1');
  25. curl_setopt($process, CURLOPT_SSL_VERIFYPEER, 0);
  26. curl_setopt($process, CURLOPT_SSL_VERIFYHOST, 0);
  27. curl_setopt($process, CURLOPT_TIMEOUT, 30);
  28. $return = curl_exec($process);
  29. if($return===false){
  30. $content['state']=curl_error($process);
  31. }else {
  32. $content['state']='ok';
  33. $content['file']=$return;
  34. }
  35. return $content;
  36. }
Добавлено за 0.024 секунд, используя GeSHi 1.0.8.10


Также Idna.class в аттаче.

curl
Vova присоединено следующее:файл:
idnaclass.rar [16кБ / 507 Загрузки]

Изменил(а) Vova, 20.06.2013 06:50
 
Web
Polarfox
Скачать исходники  Код
   $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";


чо токо не придумают...
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
SchreiBear
PolarFox, соглашусь ...странная... просто некто умельцы какие то хост.... этот для отсылки спама раньше использовали ...потом freenet.de маил сервер местный атаковали... во общем юзеры сайта забывали с сайта выйти просто закрывали окно...но вот они и.... пробрасывали через сайт... на сайте был скрипт редирект ещё ...его тоже использовали для пробрасывания через сайт.. потом каким то образом считывались куки и потом пароль и логин у них...во общем подломили они там хорошую часть логинов ну и ...кончилась халява.. теперь вон всё по отрубал из за этого всё... ты вот почему думаешь фьюжен тут стоит??? потому как ..дёшево удобно и практично
Изменил(а) SchreiBear, 20.06.2013 12:01
 
SchreiBear
Vova, задумка конечна хорошая но ...не одна функция открытия файла с постороних хостов невозможна..хмл работает только на сервере ...открыть файлы могу и парсить тоже но не с посторонниго хоста...я уже вчера искал AJAX rss parser но что то всё что находил не в рабочем состоянии
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Polarfox
Тебе RSS вывести? Feedburner дает виджеты.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
SchreiBear
PolarFox, вот это хочу на сайт ...с картинками ag http://www.vesti.ru/vesti.rss
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
Polarfox
С картинками чуть сложней.

В принципе у них может json есть а кроссзапросы в нем разрешены и удобны к отображении.
Всегда делайте backup перед изменениями | Указывайте свою версию в подписи/профиле. | Вся бесплатная тех. поддержка только на форуме
 
SchreiBear
Скачать исходники  Код
<!DOCTYPE html>
<html><head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
   <title>Parse RSS</title>
   <meta charset="UTF-8">
   <style>
      .feed-container{width:500px;height:215px;}
      .single-feed{padding:10px;list-style: none;}
   </style>
   <script type="text/javascript" src="Parse%20RSS-Dateien/jquery-min.js"></script>
   

   <script>
      $(function() {
         $.ajax({
            url:'http://www.vesti.ru/vesti.rss',
            dataType:'xml',
            type:'GET',
            success:function(xml) {
               $(xml).find('item').each(function() {
                  var title = $(this).find("title").text();
                  var des = $(this).find("description").text();
                  var link = $(this).find("link").text();
                  var $des = $('<div class="linkitem"></div>').html(des);
                  var $link = $('<a></a>').attr('href',link).attr('target','_blank').html(title);
                  var pubDate = new Date($(this).find("pubDate").text());
                  var day = pubDate.getDate();
                  var month = pubDate.getMonth() + 1;
                  var year = pubDate.getFullYear();
                  var date = day + '/' + month + '/' + year;
                  var $date = $('<div class="date"></div>').text(date)   
                  var wrapper = "<li class='single-feed'>";
                  $(".feed-container").append($(wrapper).append($link,$date,$des));               })

            },
            error:function() {
               alert("I am sorry, But I can't fetch that feed");
            }


         });
         
      
      });
   </script>
</head>
<body>
        <ul class="feed-container"></div>
</body></html>





кто небудь может сказать почему не работает?
Нужно сказать огромное спасибо людям, которые живут на популярных девелопер форумах и дают там адекватные ответы на абсолютно «нубские» вопросы без попыток унизить вопрошающего.
 
gazovik-fc
могу разработать парсер под нужный rss-поток с автопубликацией в новости (статьи) сайта под fusion. Пример в личку.
 
Zaxap
gazovik-fc, разберите, мне тоже интересноab
Зло не дремлет, а я добрый...
 

Поделиться этой темой
Социальные закладки: Vkontakte Odnoklassniki Mail.ru Facebook Google Tweet This
URL:
BBcode:
HTML:

Перейти на форум: