获取实时汇率
通过yahoo 基金提供的url ,可查询实时汇率,例如
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20("USDCNY",%20"USDHKD")&env=store://datatables.org/alltableswithkeys&format=json
查询返回json如下:
{"query":{"count":2,"created":"2014-12-31T08:22:04Z","lang":"zh-CN","results":{"rate":[{"id":"USDCNY","Name":"USD to CNY","Rate":"6.1983","Date":"12/31/2014","Time":"3:22am","Ask":"6.1992","Bid":"6.1975"},{"id":"USDHKD","Name":"USD to HKD","Rate":"7.7552","Date":"12/31/2014","Time":"3:22am","Ask":"7.7554","Bid":"7.755"}]}}}
查询其他币种只需要改变下查询条件即可。
查询其他币种到美元的代码如下:
public RateInfo getRate(final CurrencyCodeEnum currency) throws Exception { logger.info("--通过YQL到yahoo抓取实时汇率--"); final RateInfo rateInfo = new RateInfo(); try { Parser parser=new Parser(); StringBuffer yqlUrl = new StringBuffer("http://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in (\""); yqlUrl.append(StringUtils.upperCase(currency.toString())).append("USD"); yqlUrl.append("\")&env=store://datatables.org/alltableswithkeys&format=json"); parser.setURL(yqlUrl.toString()); parser.parse(new NodeFilter() { /** Comment for <code>serialVersionUID</code> */ private static final long serialVersionUID = 1L; @Override public boolean accept(Node arg0) { JSONObject obj = (JSONObject)JSONArray.parse(arg0.toHtml()); JSONObject query =obj.getJSONObject("query"); JSONObject results =query.getJSONObject("results"); Assert.notNull(results); JSONObject rate = results.getJSONObject("rate"); Assert.notNull(rate); rateInfo.setCurrencyName(currency.toString()); rateInfo.setBuyRate(rate.getString("Rate")); SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy"); try { rateInfo.setPubTime(format.parse(rate.getString("Date"))); } catch (ParseException e) { e.printStackTrace(); } return false; } }); } catch (Exception e) { e.printStackTrace(); } logger.info("--通过YQL到yahoo抓取实时汇率,返回汇率:{}--", rateInfo); return rateInfo; }
参考http://stackoverflow.com/questions/3139879/how-do-i-get-currency-exchange-rates-via-an-api-such-as-google-finance
相关推荐
在本代码示例中,因之前使用的外部服务连接无法使用,开发者决定通过解析网页来获取汇率信息。 2. 解析网页内容 代码中使用了正则表达式来从网页中提取汇率信息。这通常涉及到对HTML结构的理解和分析,以确定如何...
接下来,我们将基于给定的代码片段详细解释如何实现这一功能: ```php function getExchangeRate($from_Currency, $to_Currency){ // 将货币符号进行URL编码 $amount = urlencode($amount); $from_Currency = ...
例如,通过获取实时汇率数据,结合内部计算逻辑,将一种货币值转换为另一种货币。这样的代码不仅简化了开发流程,也提高了应用的灵活性和准确性。 【ASP.NET基础知识】 ASP.NET是由微软开发的Web应用程序框架,...
第三,使用正则表达式匹配特定的HTML代码片段。正则表达式是一种强大而灵活的文本处理工具,可以帮助我们从复杂的HTML代码中提取所需的信息。在项目中,正则表达式被用来匹配和它的结束标签,然后进一步提取标签和...
使用实时汇率的货币转换工具。 安装 演示 截图 接口服务 建筑学 此应用程序使用单个活动实现 MVVM 架构模式,并使用存储库获取本地或远程数据进行片段交换和数据缓存。 依赖图 内置 - 旨在以生命周期意识的方式存储...
这些样本可能包含了使用不同编程语言(如C++)的代码片段,或者是处理汇率数据的脚本,供开发者学习和参考。 总结来说,这个项目涉及了利用Linux作为开发和执行环境,通过OpenSSL库和TLS协议确保数据抓取的安全性,...
Convertisseur_Objet.pas中的类可能负责处理货币汇率的获取和计算,这可能涉及到网络请求以获取实时汇率。Convertisseur_MainUI.pas则负责处理用户的交互,如点击按钮触发的兑换操作,并更新结果显示在界面上。 ...
在提供的代码片段中,有以下两种创建`BigDecimal`对象的方式: ```java BigDecimal amounts = new BigDecimal(String.valueOf(0.00)); ``` 这是将一个字符串转换为`BigDecimal`对象的方法。使用这种方式可以避免...
下面是一个简单的Python爬虫代码片段,演示了上述过程: ```python import requests from bs4 import BeautifulSoup import pyodbc # 发送GET请求 url = "http://202.102.239.182/hl/llhlcx.asp" response = ...
以上代码片段展示了如何初始化CoinLib对象,并获取比特币的当前价格。实际应用中,可以根据需求调整参数,以满足各种复杂的数据需求。 总的来说,CoinLib是Python开发者处理数字货币相关任务时的一款强大工具。通过...
5. **模板引擎**:Flask支持使用模板引擎(如Jinja2),允许开发者使用模板语言编写动态HTML,其中可以包含Python代码片段,以便动态插入从网络爬虫获取的数据。 6. **部署与运行**:项目完成后,开发者可能会将...
例如,它可能包含了如何设置HTTP请求,如何解析HTML响应,以及如何定位和提取所需数据的代码片段。 另一个文件 "uk" 可能是一个特定的配置文件或者数据文件,可能与某个国家(如英国)的特定数据源或格式有关,或者...
该编辑器也集成了所有一款现代编辑器所应该具备的特性,包括语法高亮(syntax high lighting),可定制的热键绑定(customizable keyboard bindings),括号匹配(bracket matching)以及代码片段收集(snippets)。...
这些文件可能包含了设置SOAP客户端、构造请求参数、发送请求、处理响应等关键步骤的代码片段。通过阅读和分析这些文件,可以深入理解如何在实际项目中集成UPS运费计算功能。 总的来说,理解和应用“php 计算UPS运费...
2. **实时汇率获取**:为了提供准确的汇率,"CurrencyExchange"可能使用API(Application Programming Interface)从第三方服务提供商(如Open Exchange Rates或Fixer.io)获取最新的汇率数据。JavaScript负责发起...
可能使用的JavaScript库或API包括国际货币转换API(如Open Exchange Rates或Exchange Rates API),以便实时获取汇率。 4. **事件监听**:在JavaScript中,需要添加事件监听器到按钮元素,以便在用户点击时执行转换...
在提供的“paypal网页支付操作流程”文件中,很可能会包含以上环节的具体指导,包括API调用示例、代码片段以及配置参数说明。开发者应当仔细阅读这份文档,以确保顺利集成PayPal支付功能到自己的网站。 总结来说,...
5. **开发工具**:如前端框架预览、HTML/CSS/JS在线编辑器、代码片段管理等。 6. **数据转换**:如单位转换、日期时间格式转换、JSON到XML转换等。 7. **学习资源**:如编程教程、算法练习、编程题库等。 8. **生活...
下面是一些具体的Python代码片段,用于展示如何实现上述的数据处理、分析和可视化工作。 ```python import pandas as pd import pymysql import matplotlib.pyplot as plt # 数据连接 conn = pymysql.connect(host...
【描述】该项目描述指出,这是一个在CodePen.io平台上创建的代码片段(Pen),它是一个在线的代码编辑器和社区,开发者可以在这里分享和测试他们的前端代码。货币转换器的实现,通常涉及到用户界面设计以及数据处理...