Lors du renouvellement d'un site, un travail de migration de données est souvent effectué. Vous pouvez le faire manuellement, mais cela coûte de l'argent, donc Des fonctions telles que l'acquisition HTML par lots ⇒ l'analyse ⇒ l'introduction à un nouveau système peut être utile.
En Java, une bibliothèque appelée jsoup est célèbre. En Python, une bibliothèque appelée beautifulsoup4 est célèbre.
jsoup: https://jsoup.org/ beautifulsoup4: https://pypi.org/project/beautifulsoup4/
1 jsoup jsoup est une bibliothèque JAVA pour l'analyse HTML. Vous pouvez facilement analyser le HTML avec le sélecteur de type jquery. Prend en charge les spécifications WHATWG HTML5.
Exemple Gradle:
// https://mvnrepository.com/artifact/org.jsoup/jsoup
compile group: 'org.jsoup', name: 'jsoup', version: '1.12.1'
package com.test.jsoup;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
public class JsoupHtmlParser {
public static void main(String[] args) throws IOException {
Document doc = Jsoup.connect("https://news.yahoo.co.jp").get();
//Obtenez le tag a pour chaque article. Décrit de la même manière que le sélecteur jQuery
Elements newsHeadlines = doc.select(".topicsList li.topicsListItem a");
for (Element headline : newsHeadlines) {
System.out.println("title: " + headline.ownText() + ", href: " + headline.absUrl("href"));
}
}
}
title:Tempête record causée par un typhon, tuant deux personnes, href: https://news.yahoo.co.jp/pickup/6336014
title:L'aéroport de Narita bondé de 10000 personnes, href: https://news.yahoo.co.jp/pickup/6336017
title:Société de sécurité 3.Arrangements pour voler 600 millions de yens, href: https://news.yahoo.co.jp/pickup/6336018
title:Problèmes de normalisation du calendrier de suspension prévu, href: https://news.yahoo.co.jp/pickup/6336013
title:Un étudiant bourdonnant pleure 50 fois en feu, href: https://news.yahoo.co.jp/pickup/6335993
title:Coupe du monde de basketball 5e défaite 3P Tout supprimer, href: https://news.yahoo.co.jp/pickup/6336020
title:Se retirer de l'Association sportive professionnelle de la CNLC, href: https://news.yahoo.co.jp/pickup/6336015
title:Ryo Yoshizawa "Pression inhabituelle", href: https://news.yahoo.co.jp/pickup/6336022
package com.test.jsoup;
import java.io.IOException;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
public class JsoupHtmlParser {
public static void main(String[] args) throws IOException {
String html = "<h1>Analyse des fragments HTML</h1><div><p>P1</p>";
Document doc = Jsoup.parseBodyFragment(html);
//Si vous sortez le document tel quel, html,Une balise body a été ajoutée, soyez donc prudent lors de l'analyse des fragments.
System.out.println(doc.html());
System.out.println("==========================");
//Éléments de sortie du corps
Element body = doc.body();
System.out.println(body.html());
}
}
<html>
<head></head>
<body>
<h1>Analyse des fragments HTML</h1>
<div>
<p>P1</p>
</div>
</body>
</html>
==========================
<h1>Analyse des fragments HTML</h1>
<div>
<p>P1</p>
</div>
En outre, il existe des exemples de code faciles à comprendre sur le site, tels que l'analyse HTML, l'extraction de données et la correction de données à partir de fichiers. https://jsoup.org/cookbook/input/load-document-from-file
c'est tout
Recommended Posts