Pratique du grattage avec Java ①

Grattage à l'aide de Java ①

Référence / Site Coffre à jouets informatique (https://ittoybox.com/archives/385) Sume et verres (http://tm8r.hateblo.jp/entry/2013/11/26/125937) M. Terry③ (https://qiita.com/Terry3/items/0c1829130111967773bf) M. takahiroSakamoto (https://qiita.com/takahiroSakamoto/items/c2b269c07e15a04f5861)

colonne vertébrale

Personne inexpérimentée Je viens d'apprendre la grammaire java. Puisqu'il est opéré sous une forme commémorative, l'imiter ne veut pas dire que ça ira bien. Je voudrais plutôt demander un enseignement à tout le monde.

Préparation au grattage

J'ai entendu dire que jsoup devrait être utilisé pour le grattage, alors je me suis préparé à l'utiliser. J'utilise un iPhone Eclipse.

Téléchargez le fichier jar sur le site suivant (https://jsoup.org/download)

Créez le package "Scraping" et créez le fichier "lib" directement en dessous. Copiez le fichier jar précédent dans le fichier "lib". 1.PNG

Passez ensuite le laissez-passer de classe. Cette zone est expliquée dans "IT Toy Box" avec une image. Je suis très reconnaissant.

Description de grattage.

Tout d'abord, depuis l'importation du jsoup introduit

import java.io.IOException;

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

Il semble que l'instruction jsoup doit être incluse dans une instruction try-catch, j'ai donc également importé IOException en même temps.

Bon, c'est une cible de grattage, mais il y a encore beaucoup de parties que je ne comprends pas bien, alors commençons par gratter la première page de "Yahoo! Japan".

	public static void main(String[] args) {
		
		//try-Besoin d'une déclaration de capture
		try {
			
			//Document A = Jsoup.connect("url").get();Scraping de la cible sur l'URL
			Document doc = Jsoup.connect("https://www.yahoo.co.jp/").get();
			
			//Elements B = A.select("marque"); この形でソースに含まれるmarqueで指定された範囲を書き出す。
			Elements elm = doc.select("title");
			
			//Étendu pour déclaration
			for(Element elms : elm) {
				String title = elms.text();
				System.out.println(title); //Résultat Yahoo!JAPAN
			}
		
			//Gestion des exceptions
		}catch(IOException e) {
			e.printStackTrace();
		}
	}
}

Il semble que jsoup ait une méthode de connexion et une méthode de sélection, et il est possible de spécifier respectivement une URL et une balise. En spécifiant la balise url, vous pouvez facilement supprimer des éléments inutilisés tels que javascript.

Je vois, j'ai découvert en quelque sorte, j'ai expérimenté sur d'autres sites.

Quoi qu'il en soit, je vais gratter la page intitulée Liste des conférences 2018 de l'Association archéologique japonaise pour faciliter la compréhension de la différence de format tabulaire. Page cible (http://archaeology.jp/learning/university/2018kougiichiran/#)

Le code est presque le même

public static void main(String[] args) {

//try-catch文が必要 try {

// Document A = Jsoup.connect ("url"). Get (); Scraping target on url Document doc = Jsoup.connect("http://archaeology.jp/learning/university/2018kougiichiran/#").get();

// Éléments B = A.select ("tag"); Ecrivez la plage spécifiée par la balise contenue dans la source dans ce formulaire. Elements elm = doc.select("tbody");

//拡張for文 for(Element elms : elm) { String title = elms.text(); System.out.println(title); }

//例外処理 }catch(IOException e) { e.printStackTrace(); } }

Dans ce cas, la sortie du résultat vers la console est

● Université Kokugakuin Hokkaido Junior College Archéologie A / B [Concentration d'été] Maître de conférences Takashi Aoki ● Université Sapporo Gakuin Archéologie A (première moitié) Maître de conférences spécialement nommé Yoshiaki Otsuka Archéologie B (deuxième moitié) Professeur à temps partiel Kenichiro Koshida Archéologie Méthode de recherche académique (tardive) Conférencier spécialement nommé Yoshiaki Otsuka Professeur de formation archéologique Isao Usuki Conférencier spécialement nommé Yoshiaki Otsuka Introduction aux biens culturels (défunt) Professeur Isao Usuki Histoire et culture du Nord Enseignant à temps partiel Gen Sawai Hokkaido Étude d'histoire B (défunt) Professeur Isao Usuki ・ ・ ・ ・

La forme est alignée côte à côte.

C'est difficile à voir, alors

// Éléments B = A.select ("tag"); Ecrivez la plage spécifiée par la balise contenue dans la source dans ce formulaire. Elements elm = doc.select("tbody tr"); Si vous ajoutez une balise qui sépare la ligne de ("tbody tr")

● Université Kokugakuin Hokkaido Junior College
Département de la littérature nationale
Archéologie A / B [Concentration d'été] Maître de conférences Kei Aoki ● Université de Sapporo Gakuin Archéologie A (premier semestre) Yoshiaki Otsuka, conférencier spécialement désigné Archéologie B (tardif) Professeur à temps partiel Kenichiro Koshida Méthode de recherche archéologique (tardive) Professeur spécialement nommé Yoshiaki Otsuka Professeur de formation en archéologie Isao Usuki ...

Il semble qu'il puisse être exporté presque selon la page d'accueil.

Une fois pratiqué ici ① Terminé. Le but ultime est de pouvoir récupérer des informations sur les courses de chevaux. Fondamentalement, javascript gêne, alors comment le lire semble être le point.

Recommended Posts