-2

我正在开发一个 Java Web 应用程序,我想知道如何从某个网站获取某个字段(表格和/或输出文本)值。假设该组件始终具有相同的 ID,是否有人知道如何检索此信息?我不知道是否有人遇到过这个问题,但如果有人有任何想法,请分享。谢谢你。

4

2 回答 2

1

一般来说: 1.) 通过 HTTPConnection 读取应用程序中的 URL 来检索页面标记 2.) 使用 jsoup 之类的框架解析标记并检索您需要的值。

更具体地说,这里是一些 jsoup 的示例代码:

HttpClient http = new DefaultHttpClient();
String htmlcode = "";
HttpGet request = new HttpGet("http://www.example.com");
HttpResponse response = null;
try {
    response = http.execute(request);
} catch (ClientProtocolException e) {
    e.printStackTrace();
} catch (IOException e) {
    e.printStackTrace();
}
if(response != null){
    BufferedReader read = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));

    String line = "";
    while((line = read.readLine()) != null){
        htmlcode += line; 
    }
}
// at this point we have the pages markup
Document doc = Jsoup.parse(htmlcode);
Elements lis = doc.getElementsByTag("li"); // get all entries in lists
for(Element el : lis){
    String val = el.text().trim();
    // do something for each list entry
}
于 2013-07-19T10:48:12.120 回答
1

您正在谈论网络抓取,请检查此库的 php:

http://simplehtmldom.sourceforge.net/

于 2013-07-19T10:51:03.877 回答