Scraping à l'aide d'une bibliothèque appelée jsoup pour écrire des éléments spécifiques dans un fichier. À ce moment-là, exportez au format JSON. (Fonctionne avec eclipse)
Lorsque je cherchais le partenaire du service, j'ai eu la chance de tomber sur un service avec de nombreux partenaires (?). J'ai pensé qu'il serait difficile de copier ces noms de service et de les mettre au format JSON {" Name ":" Service_name "," Connectivity ":" 1 "}
.
Le service traité cette fois-ci est Highrise coopération destination.
Utilisez une bibliothèque appelée ** jsoup ** qui peut extraire du HTML. Page officielle: http://jsoup.org/ Page de téléchargement: http://jsoup.org/download
En regardant le HTML, J'ai pu confirmer que l'information (nom du service) que je voulais être la prochaine était dans la balise a ** de la balise h4 de la classe d'application **.
Cliquez avec le bouton droit sur [package] → [Build Path] → cliquez sur [Configure Build Path] L'écran suivant est affiché. Cliquez sur Ajouter un JAR externe et sélectionnez le fichier jsoup .jar que vous avez téléchargé précédemment Cliquez ensuite sur [Appliquer et fermer]. Ceci termine l'ajout. Assurez-vous que vous disposez d'une «bibliothèque de référence» contenant les fichiers .jar ajoutés.
Main.java
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
Décrivez ce qui précède.
N'oubliez pas de gérer les exceptions.
Main.java
import java.io.FileWriter;
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 Main {
public static void main(String[] args) {
FileWriter fw = null;
try {
//Ecrire un fichier
}catch(IOException e) {
System.out.println("Erreur d'écriture de fichier");
}finally {//Fermer le fichier
if(fw != null) {
try {
if(fw != null) {
fw.close();
}
}catch(IOException e2) {}
}
}
}
}
Main.java
//Fichier ouvert
fw = new FileWriter("[Chemin du fichier à écrire]", true);
//Écrire dans un fichier
Document document = Jsoup.connect("https://highrisehq.com/extras/").get();
Elements elements = document.select(".app h4 a");
for (Element element : elements) {
String name = element.text();
fw.write("{\"Name\":\"" + name + "\",\"Connectivity\":\"1\"}\n");
System.out.println(name);
}
fw.flush();
Chargez le code HTML du site Web avec Jsoup.connect (" URL "). Get ();
Trouvez la balise HTML requise avec document.select (" tag ");
. Dans ce cas, comme il existe plusieurs cas, tous les éléments correspondants sont inclus dans les éléments.
Sortez un par un avec pour
Récupérez le texte HTML correspondant avec ʻelement.text (); . (Dans le cas des attributs, ʻattr ("nom d'attribut") ʻau lieu de texte) Lors de l'écriture dans un fichier, il est au format JSON, donc cette fois il doit être défini sur
{" Name ":" Service_name "," Connectivity ":" 1 "}`.
J'ai pu l'écrire comme ça. Je suis heureux.
Merci beaucoup. Remarque d'utilisation de jsoup: https://qiita.com/opengl-8080/items/d4864bbc335d1e99a2d7 Raclons avec Java! !! : https://qiita.com/takahiroSakamoto/items/c2b269c07e15a04f5861 ■ [Java] [Html Parser] [jsoup] Comment utiliser la bibliothèque Java "jsoup" qui peut utiliser le HTML comme jquery. : http://d.hatena.ne.jp/it-tech-dm/20110123/1295774869
Recommended Posts