Maison >Java >javaDidacticiel >Utilisation de JSoup pour le Web scraping dans le développement d'API Java

Utilisation de JSoup pour le Web scraping dans le développement d'API Java

王林
王林original
2023-06-17 23:49:381282parcourir

Avec la croissance explosive des informations sur Internet, de plus en plus d'applications ont besoin d'obtenir des données pertinentes à partir de pages Web. JSoup est un analyseur HTML Java qui peut facilement extraire et manipuler les données des pages Web. Dans le développement d'API Java, JSoup est un outil important et couramment utilisé. Cet article explique comment utiliser JSoup pour le web scraping.

1. Introduction et utilisation de base de JSoup

1. Introduction de JSoup

JSoup est un analyseur HTML Java. Les développeurs peuvent l'introduire dans le projet via Maven et simplement ajouter les dépendances suivantes :

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

2.

Pour utiliser JSoup, vous devez d'abord analyser le contenu de la page HTML dans un objet Document, puis utiliser cet objet pour obtenir divers éléments de la page. Voici un exemple d'utilisation de base de 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();
}
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() 2. Utilisez JSoup pour l'exploration du Web

    1 Obtenez des informations sur la page via l'URL
  1. Utilisez la méthode JSoup connect(url).get(). Oui Obtenez les informations de la page via l'adresse URL spécifiée, comme indiqué ci-dessous :
Elements inputs = document.select("input[class=s_ipt]");

2 Analyser les éléments HTML

Selon la structure de la page, utilisez la méthode select() pour obtenir rapidement les informations requises. éléments. Voici un exemple d'utilisation de JSoup pour obtenir tous les liens :

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

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

Filtrage

En utilisant la syntaxe du sélecteur, vous pouvez obtenir les éléments de la page qui répondent aux conditions spécifiées. Par exemple, utilisez le code suivant pour obtenir tous les éléments d'entrée avec la classe "s_ipt" :

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

La syntaxe du sélecteur prise en charge comprend également : le sélecteur de balise, le sélecteur de classe, le sélecteur d'ID, le sélecteur d'attribut, le sélecteur de combinaison, le pseudo-sélecteur de périphériques, etc.

4. Traitement des événements

Les événements sur la page peuvent être facilement traités via JSoup. Par exemple, vous pouvez utiliser le code suivant pour obtenir l'élément d'entrée requis et y lier un écouteur d'événement :

rrreee🎜5 Soumettre le formulaire🎜🎜JSoup peut également nous aider à soumettre le formulaire. Par exemple, vous pouvez utiliser le code suivant pour finaliser la soumission dans le champ de recherche Baidu : 🎜rrreee🎜 3. Résumé 🎜🎜Cet article présente comment utiliser JSoup pour l'exploration du Web et l'utilisation de base de JSoup. Utilisez JSoup pour obtenir facilement des éléments de page, filtrer, gérer des événements, soumettre des formulaires, etc. Bien entendu, lorsque vous utilisez JSoup, vous devez veiller au respect des lois, réglementations et éthiques en vigueur, et vous ne pouvez pas obtenir les informations d'autrui de manière illégale et disciplinaire. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn