1. Übersicht über Jsoup
1.1 Einleitung
jsoup ist ein Java-HTML-Parser, der eine URL-Adresse und HTML-Textinhalte direkt analysieren kann. Es bietet eine sehr arbeitssparende API,
Daten können über DOM, CSS und jQuery-ähnliche Vorgänge abgerufen und bearbeitet werden.
1.2. Hauptfunktionen von Jsoup
1) Analysieren Sie HTML aus einer URL, Datei oder Zeichenfolge
2) Verwenden Sie DOM- oder CSS-Selektoren, um Daten zu suchen und abzurufen
3) Bedienbare HTML-Elemente, Attribute, Text
Hinweis: jsoup wird basierend auf dem MIT-Protokoll veröffentlicht und kann bedenkenlos in kommerziellen Projekten verwendet werden.
Versuchen wir, Jsoup zum Erfassen von Baidu-Daten und -Bildern zu verwenden und den Code anzuhängen
Maven anhängen <Abhängigkeit> <groupId>org.jsoup</groupId> <artifactId>jsoup</artifactId> <version>1.7.3</version> </Abhängigkeit>
private static String url = "https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu&wd=互联网";
public static void main(String[] args) throws Exception {
//链接到目标地址
Connection connect = Jsoup.connect(url);
//设置useragent,设置超时时间,并以get请求方式请求服务器
Document document = connect.userAgent("Mozilla/4.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)").timeout(6000).ignoreContentType(true).get();
Thread.sleep(1000);
//获取指定标签的数据
Element elementById = document.getElementById("content_left");
//输出文本数据
// System.out.println(elementById.text());
//输出html数据
// System.out.println(elementById.html());
//获取所有图片链接
Elements imgtag = document.getElementsByTag("img");
for (int i = 0; i < imgtag.size(); i++) {
if (StringUtils.isNotEmpty(imgtag.get(i).attr("src"))&&imgtag.get(i).attr("src").startsWith("http")) {
System.out.println(imgtag.get(i).attr("src"));
}
}
}
Erfolgreich gecrawlt
Die Grundfunktionen von jsoup wurden hier vorgestellt, aber aufgrund des guten erweiterbaren API-Designs von jsoup können Sie durch die Definition von Selektoren sehr leistungsstarke HTML-Analysefunktionen entwickeln. Darüber hinaus ist auch die Entwicklung des JSOUP-Projekts selbst sehr aktiv. Wenn Sie also Java verwenden und HTML verarbeiten müssen, können Sie es auch versuchen.