Java 中网页抓取的 HTML 解析
在软件开发领域,有必要从网站中提取有价值的信息以用于各种目的。这种从在线来源提取数据的过程通常称为网络抓取。 Java 程序员可以使用一种多功能工具来完成此任务:HTML 解析器。
强烈推荐的 Java HTML 解析器是 Jsoup。它的出色之处在于其用户友好的类似 jQuery 的 CSS 选择器和灵活的 Elements 类,可以轻松迭代。
开始使用 Jsoup 进行网页抓取
让我们深入研究一个简单的示例来说明使用 Jsoup 进行网页抓取:
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class Test {
public static void main(String[] args) throws Exception {
String url = "https://stackoverflow.com/questions/2835505";
Document document = Jsoup.connect(url).get();
String question = document.select("#question .post-text").text();
System.out.println("Question: " question);
Elements answerers = document.select("#answers .user-details a");
for (Element answerer : answerers) {
System.out.println("Answerer: " answerer.text());
}
}
}
在此示例中,我们连接到特定的 Stack Overflow 问题,解析 HTML 内容,并提取问题的文本以及回答者的姓名。
自定义您的网页抓取
Jsoup 的表现力允许广泛的网页抓取场景。通过利用 CSS 选择器,您可以定位网页上的特定元素或属性。例如,如果您想检索百思买上产品页面的标题、价格和描述,您可以使用以下 CSS 选择器:
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3