gpt4 book ai didi

java - 如何使用 Jsoup 或其他解析器解析该站点?

转载 作者:太空宇宙 更新时间:2023-11-04 07:24:46 27 4
gpt4 key购买 nike

我正在尝试解析一个在其 header 中没有定义编码的页面,在 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 时,chapters 4 & 9 of the cookbook推荐使用Jsoup.connect(...).get()Chapter 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.");
}

关于java - 如何使用 Jsoup 或其他解析器解析该站点?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18723142/

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