簡體   English   中英

如何使用Jsoup或其他解析器解析此站點?

[英]How to parse this site with Jsoup or another parser?

我正在嘗試解析在頁眉中沒有定義編碼的頁面,在HTML中它將ISO-8859-1定義為編碼。 Jsoup無法使用默認設置來解析它(默認情況下,HTMLunit和PHP的Simple HTML Dom Parser也無法處理它)。 即使我自己定義了Jsoup的編碼,它仍然無法正常工作。 不知道為什么。

這是我的代碼:

    String url = "http://www.parkett.de";
    Document doc = null;
    try {
         doc = Jsoup.parse(new URL(url).openStream(), "ISO-8859-1", url);
        // doc = Jsoup.parse(new URL(url).openStream(), "CP1252", url);
    } catch (IOException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }

    Element extractHtml = null;
    Elements elements = null;
    String title = null;
    elements = doc.select("h1");
    if(!elements.isEmpty()) {
        extractHtml = elements.get(0);
        title = extractHtml.text();
    }
    System.out.println(title);

感謝您的任何建議!

使用URL時, 本食譜的 第4章和第 9 建議使用Jsoup.connect(...).get() 第5章建議從本地文件加載文檔時使用Jsoup.parse()

public static void main(String[] args) {

    Document doc = null;

    try {
        doc = Jsoup.connect("http://www.parkett.de/").get();
    } catch (IOException e) {
        e.printStackTrace();
    }

    Element firstH1 = doc.select("h1").first();

    System.out.println((firstH1 != null) ? firstH1.text() : "First <h1> not found.");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM