[Ищу] Ищу грабер курса валют

Тема в разделе "SEO Скрипты", создана пользователем StaLkerexe, 13 дек 2008.

Статус темы:
Закрыта.
  1. StaLkerexe

    StaLkerexe Создатель

    Регистр.:
    20 май 2008
    Сообщения:
    28
    Симпатии:
    9
    :bc: Ищу грабер курса валют на свой сайт, желательнее что-нибудь пофункциональней, ну или что-нибудь что можно усовершенствовать из исходного.
     
  2. DIAgen

    DIAgen Постоялец

    Регистр.:
    30 окт 2006
    Сообщения:
    134
    Симпатии:
    72
    Пишется такой грабер 10 минут, или иди в гуглю
     
  3. Afonik

    Afonik Создатель

    Регистр.:
    15 сен 2008
    Сообщения:
    32
    Симпатии:
    8
  4. smithws

    smithws

    Регистр.:
    19 июн 2008
    Сообщения:
    481
    Симпатии:
    153
    Вот тут можешь скачать грабер валют. Только надо зарегестрироваться
    http://www.zeosmaster.com/2007/05/09/graber_kursa_valjut.html
     
  5. fredy2009

    fredy2009 Постоялец

    Регистр.:
    4 фев 2009
    Сообщения:
    107
    Симпатии:
    49
    Из цбрф
    http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=дата от&date_req2=дата по&VAL_NM_RQ=код валюты

    Коды валют:
    Перейти по ссылке
     
  6. ant1-pa

    ant1-pa

    Регистр.:
    3 ноя 2007
    Сообщения:
    448
    Симпатии:
    96
    вот держи готовый код тебе =)
    Парсит курсы с cbr.ru


    <?
    // Скрипт не должен вызываться напрямую
    if ( basename( __FILE__ ) == basename( $_SERVER["PHP_SELF"] ) ) exit();

    // Проверка на старость файла с курсом валют
    $File_Change_Date = filemtime($_SERVER['DOCUMENT_ROOT']."/download/currency.xml");

    // Если файл старее одного дня, то обновим данные
    if ($File_Change_Date < mktime (0,0,0,date("m"),date("d"),date("Y")))
    {
    $file_handle = @fopen ("http://www.cbr.ru/scripts/XML_daily.asp", "rb");

    unset ($new_content);
    if ($file_handle !== false) {
    // Чтение новых данных
    $new_content = "";
    while ($content_temp = fread($file_handle,8192):(
    $new_content .= $content_temp;
    endwhile;
    fclose($file_handle);
    };

    if (isset($new_content)) {
    // Запись
    $file_handle = @fopen($_SERVER['DOCUMENT_ROOT']."/download/currency.xml", 'wb');
    if ($file_handle !== false) {
    flock($file_handle, 2);
    fwrite($file_handle,$new_content);
    flock($file_handle, 3);
    fclose($file_handle);
    }
    }
    }

    require $_SERVER['DOCUMENT_ROOT']."/classes/class_xml.php";
    $xml = new class_xml();

    // Чтение файла
    if ( $FH = @fopen( $_SERVER['DOCUMENT_ROOT'].'/download/currency.xml', 'rb' ) )
    {
    $content = @fread( $FH, filesize($_SERVER['DOCUMENT_ROOT'].'/download/currency.xml') );
    @fclose( $FH );
    }

    // Разбор XML файла
    $xml->xml_parse_document( $content );

    $GLOBALS['CURRENCY_DATE'] = $xml->xml_array['ValCurs']['ATTRIBUTES']['Date'];

    foreach ($xml->xml_array['ValCurs']['Valute'] as $value){
    if ($value['NumCode']['VALUE'] == "840") define("DOLLAR", preg_replace('/\,/','.',$value['Value']['VALUE']));
    if ($value['NumCode']['VALUE'] == "978") define("EURO", preg_replace('/\,/','.',$value['Value']['VALUE']));
    }
    ?>


     
  7. Tarasishe

    Tarasishe

    Регистр.:
    26 апр 2008
    Сообщения:
    190
    Симпатии:
    142
    Вот собственно получаем курсы по Украине, валюты можно будет поставить какие угодно, источник предлагает целую тьму...

    PHP:
      // Получаем XML-файл с источника 
      
    $content get_content();  
      
    // Разбираем содержимое, при помощи регулярных выражений  
      
    $pattern "#<item>[\s]*<date>(.+?)</date>[\s]*"
                 
    "<code>(.+?)</code>[\s]*"
                 
    "<char3>(.+?)</char3>[\s]*"
                 
    "<size>(.+?)</size>[\s]*"
                 
    "<name>(.+?)</name>[\s]*"
                 
    "<rate>(.+?)</rate>[\s]*"
                 
    "<change>(.+?)</change>[\s]*"
                 
    "#i";  
      
    preg_match_all($pattern$content$out);  
      unset(
    $out[0]); 
      for(
    $i 0$i count($out[1]); $i++) 
      { 
        
    // КОД валюты их XML 
        
    if($out[2][$i] == 840$dollar $out[6][$i]; 
        if(
    $out[2][$i] == 978$euro $out[6][$i]; 
        if(
    $out[2][$i] == 643$rub $out[6][$i]; 
      } 
      echo 
    "Доллар - $dollar<br>"
      echo 
    "Евро - $euro<br>"
      echo 
    "Рубль - $rub<br>"

      function 
    get_content()  
      {  
        
    // Формируем ссылку к источнику валюты 
        
    $link "http://www.bank-ua.com/export/currrate.xml";  
        
    // Загружаем HTML-страницу  
        
    $fd fopen($link"r");  
        
    $text="";  
        if (!
    $fd) echo "Запрашиваемая страница не найдена";  
        else  
        {  
          
    // Чтение содержимого файла в переменную $text  
          
    while (!feof ($fd)) $text .= fgets($fd4096);  
        }  
        
    // Закрыть открытый файловый дескриптор  
        
    fclose ($fd);  
        return 
    $text;  
      }  
     
Статус темы:
Закрыта.