Heim  >  Artikel  >  Java  >  Verwendung von JSoup für Web-Scraping in der Java-API-Entwicklung

Verwendung von JSoup für Web-Scraping in der Java-API-Entwicklung

王林
王林Original
2023-06-17 23:49:381201Durchsuche

Angesichts des explosionsartigen Wachstums der Internetinformationen müssen immer mehr Anwendungen relevante Daten von Webseiten abrufen. JSoup ist ein Java-HTML-Parser, der Daten aus Webseiten einfach extrahieren und bearbeiten kann. In der Java-API-Entwicklung ist JSoup ein wichtiges und häufig verwendetes Tool. In diesem Artikel wird die Verwendung von JSoup zum Web-Scraping vorgestellt.

1. Einführung und grundlegende Verwendung von JSoup

JSoup ist ein Java-HTML-Parser und fügt einfach die folgenden Abhängigkeiten hinzu:

<dependency>
    <groupId>org.jsoup</groupId>
    <artifactId>jsoup</artifactId>
    <version>1.14.2</version>
</dependency>

2

Um JSoup zu verwenden, müssen Sie zunächst den Inhalt der HTML-Seite in ein Document-Objekt analysieren und dieses Objekt dann verwenden, um verschiedene Elemente auf der Seite abzurufen. Das Folgende ist ein Beispiel für die grundlegende Verwendung von JSoup:

String url = "https://www.baidu.com/";
Document document = Jsoup.connect(url).get(); // 通过 URL 加载页面

// 获取页面标题
String title = document.title();

// 获取页面所有超链接
Elements links = document.select("a[href]");

// 循环遍历页面中的所有链接
for(Element link: links){
    String linkHref = link.attr("href");
    String linkText = link.text();
}

2. Verwenden Sie JSoup für das Web-Crawling

Document 对象,然后可以通过这个对象来获取页面中的各种元素。下面是JSoup的基本用法示例:

String url = "https://www.baidu.com/";
Document document = Jsoup.connect(url).get();

二、使用JSoup进行Web抓取

1.通过URL获取页面信息

使用JSoup的方法 connect(url).get() 可以通过指定的URL地址获取页面信息,如下所示:

Elements links = document.select("a[href]");

for(Element link: links){
    String linkHref = link.attr("href");
    String linkText = link.text();
    System.out.println(linkHref + " , " + linkText);
}

2.解析HTML元素

根据页面的结构,使用 select()1. Erhalten Sie Seiteninformationen über die URL.

    Verwenden Sie die JSoup-Methode connect(url).get() Ja Rufen Sie Seiteninformationen über die angegebene URL-Adresse ab, wie unten gezeigt:
  1. Elements inputs = document.select("input[class=s_ipt]");
  2. 2. HTML-Elemente analysieren

Verwenden Sie je nach Struktur der Seite die Methode select(), um schnell die erforderlichen Informationen abzurufen Elemente. Hier ist ein Beispiel für die Verwendung von JSoup zum Abrufen aller Links:

Element input = document.select("input[type=text").first();

input.attr("oninput", "console.log('input value has changed')");

Filtern

Mit der Selektorsyntax können Sie die Elemente auf der Seite abrufen, die die angegebenen Bedingungen erfüllen. Verwenden Sie beispielsweise den folgenden Code, um alle Eingabeelemente mit der Klasse „s_ipt“ abzurufen:

String url = "https://www.baidu.com/s";
String keyword = "Java";
Document document = Jsoup.connect(url)
                        .data("wd", keyword)
                        .post();

Die unterstützte Selektorsyntax umfasst außerdem: Tag-Selektor, Klassen-Selektor, ID-Selektor, Attribut-Selektor, Kombinations-Selektor, Pseudo-Selektor, Geräte usw.

4. Ereignisverarbeitung

Ereignisse auf der Seite können einfach über JSoup verarbeitet werden. Sie können beispielsweise den folgenden Code verwenden, um das erforderliche Eingabeelement abzurufen und einen Ereignis-Listener daran zu binden:

rrreee

5 Senden Sie das Formular ab

🎜JSoup kann uns auch beim Absenden des Formulars helfen. Sie können beispielsweise den folgenden Code verwenden, um die Übermittlung an das Baidu-Suchfeld abzuschließen: 🎜rrreee🎜 3. Zusammenfassung 🎜🎜In diesem Artikel werden die Verwendung von JSoup für das Web-Crawling und die grundlegende Verwendung von JSoup vorgestellt. Verwenden Sie JSoup, um auf einfache Weise Seitenelemente, Filter, Ereignishandles, Übermittlungsformulare usw. abzurufen. Natürlich müssen Sie bei der Nutzung von JSoup auf die Einhaltung der einschlägigen Gesetze, Vorschriften und Ethik achten und dürfen sich die Informationen anderer Personen nicht auf illegale und disziplinarische Weise beschaffen. 🎜

Das obige ist der detaillierte Inhalt vonVerwendung von JSoup für Web-Scraping in der Java-API-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn