создать новую тему раскрыть все
 
Здраствуйте!
Пожалуйста помогите с настройкой источника курса валют. Никак не могу понять, что и куда вписать в UniRates.ini.  Read me читал, но так ничего и не понял. Жаль что я не программист. Сайт  Национального банка Азербайджана, страница с курсами тут: http://nba.az/default.aspx?go=cfl&lng=en
свернуть/развернуть ветвь я тоже... [Lexx 08/05/2008 12:55] # написать ответ
 
... ничего не понял. Спрашивал раньше, толком ничего не было. Нужен алгоритм действий, как в хелпе.
свернуть/развернуть ветвь Примерно как-то так [Дим(м) 08/05/2008 14:03] # написать ответ
 
[nba.az]
Name=Национальный банк Азербайджана
Server=nba.az
PageURL=/default.aspx?go=cfl&lng=en
EstimatedPageSize=52000
HomeCurrencyCode=AZN
HomeCurrencyName=Manat
Prologue=id="ctl19_lblCurDate" class="header">(?<date>.*?)<
Record=<td>(?<value2>\d+)? (?<code>.*?)<\/td><td>.*?<\/td><td>(?<value1>.*?)<\/td>
Epilogue=<\/table>
DecimalSeparator=,
 
Но сразу хочу предупредить, что сайт совсем не приспособлен для автоматического получения курсов валют Not so
Так, например
- нет возможности указать интересующую дату (что бы вы ни выбирали в интерфейсе AblityCash, курсы всегда будут извлекаться "за сегодня")
- нет названий валют (возможно, это и не проблема, если AbilityCash сохраняет введенные вручную названия и ориентируется исключительно по кодам)
 
Что касается "как", то алгоритм примерно следующий:
- разобраться, как в адресе страницы задается дата и сформировать соответствующим образом PageURL с помощью макросов %xx%
- открыть исходный код страницы (View page source)
- сохранить его в файл, чтобы оценить примерный размер для EstimatedPageSize
- найти в этом html интересующие данные и определить маркеры их начала и конца для Prologue и Epilogue (очевидно, что маркеры должны "охватывать" именно блок данных и, по возможности, поменьше всего лишнего)
- если дата курсов указывается на странице один раз, то ее надо извлекать в Prologue
- для каждой записи с курсом сформировать регулярное выражение (Record) для извлечения максимального кол-ва информации с использованием имеющихся маркеров (?<...>...)
- указать, если необходимо, отличный от точки разделитель для дробной части и кодовую страницу
свернуть/развернуть ветвь Спасибо [Ruslan 10/05/2008 14:58] # написать ответ
 
Спасибо. Всё работает. А для получения котировок с Форекса есть готовые коды? Или же с сайта какого нибудь европейского банка? Интересует курсы Евро/Доллар.