Dans la continuité d'hier, j'écrirai également 10 lignes de code aujourd'hui.
Grattage
Je voudrais terminer le corps principal du grattage, que je n'ai pas pu terminer hier.
C'était une installation groupée qui est restée bloquée hier, mais quand j'ai réinstallé xcode, cela fonctionnait bien lol
$ bundle install --path .bundle
Fetching gem metadata from https://rubygems.org/.................
Resolving dependencies...
Using bundler 1.17.2
Using mini_portile2 2.4.0
Fetching nokogiri 1.10.9
Installing nokogiri 1.10.9 with native extensions
Bundle complete! 1 Gemfile dependency, 3 gems now installed.
Bundled gems are installed into `./.bundle`
Maintenant, écrivons le traitement de la partie perspective en utilisant Nokogiri. Cette fois, je veux juste voir le titre de l'animation, donc je vais extraire le titre.
Je veux utiliser nokogiri, donc en haut du fichier
require 'nokogiri'
Je vais décrire ici.
Et dans la continuité de la dernière fois
#Analyser le HTML reçu
doc = Nokogiri::HTML.parse(response.body, nil, nil)
#Extraire les informations nécessaires à partir des informations analysées
doc.css(".l-searchPageRanking_unit_title").each{|div|
puts div.text.split("\n")[2].gsub(" ","")
}
Écrivez un processus pour analyser le HTML reçu de cette manière.
Vous pouvez exécuter ruby avec la commande suivante.
bundle exec ruby crawler.rb
Puis
Voulez-vous que Kaguya vous le dise? ~ Love brain battle of geniuses ~ (vidéo d'anime TV)
Evil God Drop Kick '(Dash) (Vidéo Anime TV)
BNA BNA (vidéo d'anime télévisé)
Caché (vidéo d'anime télévisé)
Je me suis réincarné en fille méchante qui n'a que le drapeau de la ruine du jeu de jeune fille ... (vidéo d'animation télévisée)
Écoutez les vagues (vidéo d'anime télévisé)
Chanter hier (vidéo d'anime télévisé)
Corbeille de fruits 2e saison (vidéo d'animation télévisée)
Ciel innocent! (Vidéo d'anime télévisé)
Princess Connect! Re: Dive (vidéo d'anime télévisé)
Deuxième série majeure 2 (vidéo d'anime télévisé)
Amoureux des livres Shimogami-Je ne peux pas choisir le moyen de devenir commis-Partie 2 (vidéo d'anime télévisé)
Journal après l'école (vidéo d'anime télévisé)
Kingdom 3rd series (vidéo d'anime télévisé)
Grapenil (vidéo d'animation télévisée)
Grand-père dérangeant (vidéo d'anime télévisé)
Après toute ma jeunesse, le riz romantique est faux. Terminé (vidéo d'anime télévisé)
Shokugeki no Soma Gonozara (vidéo d'animation télévisée)
Arte (vidéo d'animation télévisée)
Millionaire Detective Balance: ILLIMITÉ (TV Anime Video)
Digimon Adventure: (vidéo d'anime télévisé)
Re: La vie dans un monde différent à partir de zéro(Deuxième étape)(Vidéo d'anime télévisé)
AUDITEURS (vidéo d'anime télévisé)
Hakushon Daimaou 2020 (vidéo d'animation télévisée)
Momo successif (vidéo d'anime télévisé)
Je pense que la liste sera affichée comme ça. Pour être honnête, j'ai l'impression que je vais mettre un peu plus correctement le split ou gsub, mais ... je le ferai une fois.
Cependant, il y a un problème ici, quand j'ai vérifié le nombre de lignes de code ajoutées cette fois, c'était 9 lignes même si je mets un commentaire .... Donc, j'ai essayé d'obtenir la valeur numérique telle que le nombre d'évaluations ici Je voudrais ajouter.
Modifions le processus d'analyse plus tôt afin que nous puissions également afficher le nombre de notes et de commentaires.
#Extraire les informations nécessaires à partir des informations analysées
doc.css(".l-searchPageRanking_unit").each{|div|
puts "Titre:" + div.css(".l-searchPageRanking_unit_title")[0].text.split("\n")[2].gsub(" ","")
puts "Évaluation:" + div.css(".l-searchPageRanking_unit_mainBlock_starPoint strong")[0].text
puts "Nombre de commentaires:" + div.css(".l-searchPageRanking_unit_mainBlock_starPoint span")[0].text + "\n\n"
}
Pour expliquer brièvement, dans le code précédent, seul l'en-tête a été répété, mais si vous voulez une évaluation, vous devez spécifier la balise qui entoure les informations d'animation et la boucle, comme ci-dessus Je déconne devant chacun.
Exécutez avec la commande suivante
bundle exec ruby crawler.rb
Puis
Titre:Voulez-vous que Kaguya vous le dise? ~ Love brain battle of geniuses ~ (vidéo d'anime TV)
Évaluation:3.8
Nombre de commentaires:120
Titre:Evil God Drop Kick '(Dash) (Vidéo Anime TV)
Évaluation:3.9
Nombre de commentaires:54
Titre:BNA BNA (vidéo d'anime télévisé)
Évaluation:3.7
Nombre de commentaires:88
Titre:Caché (vidéo d'anime télévisé)
Évaluation:3.6
Nombre de commentaires:105
Titre:Je me suis réincarné en fille méchante qui n'a que le drapeau de la ruine du jeu de jeune fille ... (vidéo d'animation télévisée)
Évaluation:3.6
Nombre de commentaires:114
Titre:Écoutez les vagues (vidéo d'anime télévisé)
Évaluation:3.6
Nombre de commentaires:77
Titre:Chanter hier (vidéo d'anime télévisé)
Évaluation:3.8
Nombre de commentaires:115
Titre:Corbeille de fruits 2e saison (vidéo d'animation télévisée)
Évaluation:3.5
Nombre de commentaires:23
Titre:Ciel innocent! (Vidéo d'anime télévisé)
Évaluation:3.4
Nombre de commentaires:46
Titre:Princess Connect! Re: Dive (vidéo d'anime télévisé)
Évaluation:3.5
Nombre de commentaires:55
Titre:Deuxième série majeure 2 (vidéo d'anime télévisé)
Évaluation:3.5
Nombre de commentaires:15
Titre:Amoureux des livres Shimogami-Je ne peux pas choisir le moyen de devenir commis-Partie 2 (vidéo d'anime télévisé)
Évaluation:3.3
Nombre de commentaires:41
Titre:Journal après l'école (vidéo d'anime télévisé)
Évaluation:3.4
Nombre de commentaires:53
Titre:Kingdom 3rd series (vidéo d'anime télévisé)
Évaluation:3.4
Nombre de commentaires:20
Titre:Grapenil (vidéo d'animation télévisée)
Évaluation:3.5
Nombre de commentaires:74
Titre:Grand-père dérangeant (vidéo d'anime télévisé)
Évaluation:3.4
Nombre de commentaires:11
Titre:Après toute ma jeunesse, le riz romantique est faux. Terminé (vidéo d'anime télévisé)
Évaluation:3.3
Nombre de commentaires:23
Titre:Shokugeki no Soma Gonozara (vidéo d'animation télévisée)
Évaluation:3.3
Nombre de commentaires:30
Titre:Arte (vidéo d'animation télévisée)
Évaluation:3.4
Nombre de commentaires:51
Titre:Millionaire Detective Balance: ILLIMITÉ (TV Anime Video)
Évaluation:3.2
Nombre de commentaires:37
Titre:Digimon Adventure: (vidéo d'anime télévisé)
Évaluation:3.2
Nombre de commentaires:15
Titre:Re: La vie dans un monde différent à partir de zéro(Deuxième étape)(Vidéo d'anime télévisé)
Évaluation:3.2
Nombre de commentaires:13
Titre:AUDITEURS (vidéo d'anime télévisé)
Évaluation:3.2
Nombre de commentaires:57
Titre:Hakushon Daimaou 2020 (vidéo d'animation télévisée)
Évaluation:3.2
Nombre de commentaires:14
Titre:Momo successif (vidéo d'anime télévisé)
Évaluation:3.1
Nombre de commentaires:26
Comme mentionné ci-dessus, vous pouvez obtenir la note et le nombre de commentaires pour chaque animation, et vous pouvez décider lequel regarder! !! !!
PS Personnellement, je poussais Soma, mais l'élan s'est visiblement ralenti récemment ... Ensuite, j'ai pensé que je regarderais le "Kaguya" ou le "Fruit Basket" qui a pleuré après le premier trimestre. Je vais.
J'aimerais également publier le code que j'ai écrit aujourd'hui sur github. (Je ne sais pas si ça vaut le coup) https://github.com/itayayuichiro/anikore_crawler
Recommended Posts