подыскивается информер валют на сайт

12
achilies
На сайте с 12.08.2006
Offline
117
2456

Здравствуйте!

Подыскивается информер валют (в частности курс USD в рублях), в формате 88x31.

Возможность выбора цветовой гаммы будет плюсом, но не критично.

В данный момент используем вот этот: информер.

В текущем все устраивает, кроме одного обстоятельства - реальный курс запаздывает. Т.е. информер может целый день показывать один и тот же курс, даже если произошло изменение курса после дневных торгов.

Очень нравится курс на морде у yandex или на сайте rbc.

заранее всем спасибо

p.s.просим прощения, если тема создана не в подходящем разделе

Astaldo
На сайте с 28.01.2006
Offline
174
#1

РБК раздает валютные информеры.

Live as if you were to die tomorrow. Learn as if you were to live forever. Mahatma Gandhi
neznaika
На сайте с 28.06.2006
Offline
356
#2
Astaldo:
РБК раздает валютные информеры.

Я думаю что человек хочет свой ;)

Дорого покупаю настоящие сайты. Не инвестирую деньги и не беру кредиты.
Astaldo
На сайте с 28.01.2006
Offline
174
#3
neznaika:
Я думаю что человек хочет свой ;)

самописную парсилку? это в раздел работа для мастеров тогда....

I
На сайте с 29.04.2006
Offline
135
#4

А кто мешает парсить тотже яндекс на цифры нужные?

Поставиь на крон обновление рас в час. И радуемся. Проблем нет.

stealthy
На сайте с 15.06.2006
Offline
69
#5

Это некорректно будет по отношению к Яндексу. Правильно идти на cbr.ru и качать официальный курс в XML формате оттуда, а дальше выводить в том виде как тебе нужно. Хоть кнопкой, хоть текстом.

http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=ДАТА_СТАРТА&date_req2=ДАТА_ФИНИША&VAL_NM_RQ=КОД_ВАЛЮТЫ

Twilight CMS (http://www.twl.ru): есть Free версия, очень проста и удобна в использовании. Консультирую по любым вопросам. Новый спорт - практическая стрельба (http://nikit.in) - не для офисного планктона.
achilies
На сайте с 12.08.2006
Offline
117
#6
stealthy:
Это некорректно будет по отношению к Яндексу. Правильно идти на cbr.ru и качать официальный курс в XML формате оттуда, а дальше выводить в том виде как тебе нужно. Хоть кнопкой, хоть текстом.

http://www.cbr.ru/scripts/XML_dynamic.asp?date_req1=ДАТА_СТАРТА&date_req2=ДАТА_ФИНИША&VAL_NM_RQ=КОД_ВАЛЮТЫ

Вы не могли подсказать как реализовать подобный вариант (с учетом что в программировании мягко говоря - так себе) ? 😕

J
На сайте с 24.08.2006
Offline
25
#7

Я делаю вот так.. получаем текстовый файл, а уж как его отображать - Ваше дело (стандартные информеры редко впишутся в Ваш дизайн). Как это выглядит на сайте можете увидеть вот здесь: www.escortpro.ru

PS: Код писал очень давно, сейчас наверное сделал бы поэффективнее, но лень:)) Так что не судите...


/*
Если на диске есть заданный локальный файл
и в нем сегодняшняя информация, прочесть ее. Если файла нет
или данные в нем не сегодняшние, сходить на сервер РБК за
новыми. Если с получением новых данных проблема, вернуть
старые...
*/

function getUSDfromRBC($filename)
{
#$filename = 'USD.txt';
if (!file_exists($filename)) return array('date' => "",'rateUSD' => "",'rateEUR' => "");

$nextdate=strtotime("+1 day");

if ($localdata = file($filename))
{
#Получили файл в виде массива, каждый элемент - строка файла
if (trim($localdata[0]) == date('Y-m-d',$nextdate))
{
#Если дата в файле равна текущей, то возвращаем массив, содержащий дату и курс
return array('date' => trim($localdata[0]),'rateUSD' => trim($localdata[1]),'rateEUR' => trim($localdata[2]));
}
}
#Если файл не существует или дата в нем не соотвествует текущей, то получаем новый курс с РБК
$d = (string) date('d',$nextdate);
$m = (string) date('m',$nextdate);
$y = (string) date('Y',$nextdate);
#URL для получения курса доллара USD
$url = 'http://export.rbc.ru/free/cb.0/free.fcgi?' .
'period=DAILY&tickers=USD&d1='. $d .
'&m1=' . $m .
'&y1='. $y .
'&d2=' . $d .
'&m2=' . $m .
'&y2=' . $y .
'&lastdays=0&separator=TAB&data_format=BROWSER';
if ($remotedata = @file($url))
{
$currentdataUSD = explode("\t", trim($remotedata[0]));
#Открытие локального файла
$fp = fopen($filename, 'w');
fwrite($fp, $currentdataUSD[1] . "\r\n");
$currentdataUSD[5]=sprintf("%01.2f",$currentdataUSD[5]);
fwrite($fp, $currentdataUSD[5] . "\r\n");

#URL для получения курса евро EUR
$url = 'http://export.rbc.ru/free/cb.0/free.fcgi?' .
'period=DAILY&tickers=EUR&d1='. $d .
'&m1=' . $m .
'&y1='. $y .
'&d2=' . $d .
'&m2=' . $m .
'&y2=' . $y .
'&lastdays=0&separator=TAB&data_format=BROWSER';
if ($remotedata = @file($url))
{
$currentdataEUR = explode("\t", trim($remotedata[0]));
$currentdataEUR[5]=sprintf("%01.2f",$currentdataEUR[5]);
fwrite($fp, $currentdataEUR[5]. "\r\n");
}

#Закрытие локального файла
fclose($fp);
return array('date' => trim($currentdataUSD[1]),'rateUSD' => trim($currentdataUSD[5]),'rateEUR' => trim($currentdataEUR[5]));
}
return array('date' => trim($localdata[0]),'rateUSD' => trim($localdata[1]),'rateEUR' => trim($localdata[2]));
}
achilies
На сайте с 12.08.2006
Offline
117
#8
jakovlev:
Я делаю вот так..

А как часто ваш (наш) робот будет "выходить на охоту" за новым курсом ?

В любом случае спасибо, будем приживлять :)

I
На сайте с 29.04.2006
Offline
135
#9

Судя по коду - раз в день, при первом пользователе.

stealthy
На сайте с 15.06.2006
Offline
69
#10
achilies:
Вы не могли подсказать как реализовать подобный вариант (с учетом что в программировании мягко говоря - так себе) ?

Тогда лучше всего не заниматься программированием, а взять готовое решение с учетом потребностей. В "Twilight CMS" это реализовано как готовый модуль - говоришь "хочу курс", указываешь валюту и дату. Все остальное делается автоматом, в частности кэшируется результат и сохраняется история запросов. Наверняка есть и другие CMS с подобными модулями, это не такая уж навороченная функциональность.

А писать что-то с нуля вообще смысла мало имеет, все давно написано.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий