我希望将此网页上的实时费率解析为http://www.truefx.com/到我的java程序中,即我希望逐页刷新的网页数据不断流入我的计划。
如果可能的话,我想使用标准的java库来做这件事。我知道插件,如jsoup和可能的其他插件,但我不想下载和安装插件,因为我正在使用的计算机硬盘驱动器是基于加利福尼亚州除了一些核心程序,eclipse正在上它们会在系统重新启动时每晚被删除。
因此,如果有人知道标准eclipse下载中的包可以做到这一点,请告诉我!感谢
这是我的代码看起来像(我使用你上面发布的我的网址阅读器):
public String getPage(String urlString){
String result = "";
//Access the page
try {
// Create a URL for the desired page
URL url = new URL(urlString);
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
// str is one line of text; readLine() strips the newline character(s)
result += str;
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
return result;
}
public static void main(String[]args){
int i =0;
Reading r = new Reading();
while(true){
try{Thread.sleep(1000);}catch(Exception e){}
String page = new String(r.getPage("http://www.fxstreet.com/rates-charts/forex-rates/"));
int index = page.indexOf("last_3212166");
//System.out.println(i+page);
i++;
System.out.println(i+"GBP/USD: "+page.substring(index+14,index+20));
}
答案 0 :(得分:1)
使用无外部API ,只需导入 java.net.URL
,您就可以通过此功能获取页面static public String getPage(String urlString){
String result = "";
//Access the page
try {
// Create a URL for the desired page
URL url = new URL(urlString);
// Read all the text returned by the server
BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
String str;
while ((str = in.readLine()) != null) {
// str is one line of text; readLine() strips the newline character(s)
result += str;
}
in.close();
} catch (MalformedURLException e) {
} catch (IOException e) {
}
return result;
}
然后使用 java.util.regex 来匹配您希望从该页面获取的数据。并将其解析为您的标签。不要忘记将所有这些放在线程中,并使用 while(true)循环,然后使用 sleep(some_time)来获得第二个第二个信息。