gpt4 book ai didi

java - 用java解析网页

转载 作者:行者123 更新时间:2023-12-01 15:27:47 25 4
gpt4 key购买 nike

我希望解析此网页的实时费率:http://www.truefx.com/到我的java程序中,即我希望来自每秒刷新的网页的数据不断地流入我的程序中。

如果可能的话,我想使用标准 java 库来做到这一点。我知道像 jsoup 和其他可能的插件,但我不想下载和安装这些插件,因为我使用的计算机的硬盘位于加利福尼亚州,除了一些核心程序之外,其他所有程序都在运行,eclipse 正在运行其中,每天晚上系统重新启动时都会被删除。

因此,如果有人知道标准 eclipse 下载中的包可以做到这一点,请告诉我!谢谢

<小时/>

好吧,我已经开始工作了,但看起来很慢。例如,数据会每秒发生变化,即使我也每秒刷新我读取的网页(我使用了 thread.sleep(1000)),然后获取一个新实例网页的内容,大约每分钟更新一次。什么给出?

这是我的代码的样子(我使用您上面发布的内容作为我的网址阅读器):

 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));
}

最佳答案

没有外部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)线程 中,以便第二个第二信息。

关于java - 用java解析网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9961403/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com