Java 如何从某个网站检索特定信息?

Java 如何从某个网站检索特定信息?,java,html-parsing,web-scraping,Java,Html Parsing,Web Scraping,我正在开发一个java web应用程序,我想知道如何从某个网站获取某个字段(表和/或输出文本)值。假设此组件始终具有相同的ID,有人知道如何检索此信息吗? 我不知道是否有人曾经面对过这个问题,但如果有人有任何想法,请分享。 谢谢。一般来说: 1.)通过应用程序中URL的HTTPConnection读取页面标记来检索页面标记 2.)使用类似jsoup的框架解析标记并检索所需的值 更具体地说,以下是jsoup的一些示例代码: HttpClient http = new DefaultHttpClie

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

一般来说: 1.)通过应用程序中URL的HTTPConnection读取页面标记来检索页面标记 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
}

如果您正在谈论web抓取,请查看此库中的php:


使用
jsoup
为此
我正在开发一个java web应用程序
-为什么要标记这个[php]呢?你可以试试webharvest,因为这个网站甚至可以是php,但我标记它只是为了获得一般信息。我在问之前对此一无所知:)@AlbanoVito当你在浏览器中看到一个网站时,没有更多的php出现,因为你只得到完成的标记(让我们暂时忽略Java脚本),这就是php库,这个问题不再被标记[php]@DevZer0啊,是的,他现在删除了标记。多么笨拙。您也可以只执行
Jsoup.connect(“http://www.example.com“”.get()
通过URL获取文档,而不需要整个HttpClient样板文件(在您的特定示例中,字符编码存在问题,您依赖于平台默认编码)。感谢您的提示。那只是打在一起,没有完全研究文件。