[Rails] Comment mettre en œuvre le scraping

Maintenant que vous avez appris à implémenter le scraping, je vais l'écrire comme résultat d'apprentissage.

Après avoir lu cet article, qu'est-ce que le grattage? Que dois-je faire pour le mettre en œuvre? Je peux comprendre.

Qu'est-ce que le grattage? Pour apprendre des informations d'un site Web et les traiter pour générer de nouvelles informations. Par exemple, visiter divers sites de restaurants et créer une liste de prix.

Je veux en savoir plus! Si vous pensez cela, veuillez rechercher sur Google.

Maintenant, je vais écrire comment mettre en œuvre le scraping.

Comment mettre en œuvre le scraping

1 Installez le gemfile "mécaniser"

gem 'mechanize'

Tapez ensuite bundle install dans le terminal

2 Créez une instance de la classe Mechanize

agent = Mechanize.new #Créez une instance de la classe Mechanize et affectez-la à l'agent variable

3 Obtenir les informations HTML du site Web Utilisez la méthode d'instance "get" de la classe Mechanize pour obtenir le code HTML du site Web que vous souhaitez gratter.

page = agent.get("https://www.google.com/?hl=ja")

4 Utilisez la méthode de recherche pour rechercher des éléments HTML La méthode de recherche est utilisée pour l'objet qui contient les informations de page obtenues par la méthode get. Cela permet de rechercher le contenu de l'élément HTML spécifié à partir des informations HTML acquises du site Web. Même s'il n'y a qu'un seul élément de balise HTML correspondant, la valeur de retour sera renvoyée sous la forme d'un tableau.

 agent = Mechanize.new
  page = agent.get("https://www.google.com/?hl=ja")
  elements = page.search('h1')

↑ Les informations de l'élément h1 dans https://www.google.com/?hl=ja sont acquises.

5 méthode inner_text Si vous souhaitez obtenir le texte des informations HTML obtenues par la méthode de recherche, utilisez la méthode inner_text.

agent = Mechanize.new
page = agent.get("URL du site Web que vous souhaitez supprimer")
elements = page.search('h2 a') #Rechercher un élément sous l'élément h2

elements.each do |ele|
  puts ele.inner_text
end

6 Méthode get_attribute Si vous souhaitez obtenir la valeur d'un attribut HTML, utilisez la méthode get_attribute. Par exemple, le code HTML de l'élément a tag a un attribut "href" dont la valeur est l'URL de la destination du lien. Vous pouvez obtenir la valeur de l'attribut spécifié par l'argument en écrivant get_attribute (attribut).

agent = Mechanize.new
page = agent.get("URL du site Web que vous souhaitez supprimer")
elements = page.search('h2 a') #Rechercher un élément sous l'élément h2

elements.each do |ele|
  puts ele.get_attribute('href') # puts ele[:href]Peut être
end

Résumé du grattage

● Créer une instance de la classe Mechanize ● Obtenez les informations HTML du site Web avec la méthode d'instance .get (URL du site Web pour lequel vous souhaitez obtenir des informations) de la classe Mechanize. ● Apprenez en spécifiant l'élément de balise avec les données souhaitées avec la méthode de recherche ● Utilisez les méthodes inner_text et get_attribute pour apprendre les informations souhaitées pour les informations HTML de l'élément de balise acquis.

Recommended Posts

[Rails] Comment mettre en œuvre le scraping
[Rails] Comment mettre en œuvre le classement par étoiles
Comment implémenter la fonctionnalité de recherche dans Rails
Comment écrire des rails
Comment désinstaller Rails
Comment implémenter la fonctionnalité de classement dans Rails
Pour implémenter la publication d'images à l'aide de rails
Comment implémenter une fonctionnalité similaire dans Rails
[rails] Comment publier des images
[Rails] Comment utiliser enum
[Rails] Comment utiliser enum
Comment lire les itinéraires des rails
Comment utiliser la jonction de rails
[Rails] Comment utiliser la validation
[Rails] Comment faire des graines
Comment écrire le routage Rails
[Rails] Comment installer simple_calendar
[Java] Comment implémenter le multithreading
[Rails] Comment installer reCAPTCHA
[Rails] Comment utiliser Scope
Comment implémenter une fonctionnalité intéressante dans Ajax avec Rails
[Rails, JS] Comment implémenter l'affichage asynchrone des commentaires
[Rails] Comment utiliser la "devise" des gemmes
[Rails] Comment utiliser l'appareil (Remarque)
[Rails] Comment utiliser les messages flash
[rails] Comment afficher les informations de base de données
[Rails] Comment empêcher la transition d'écran
Comment utiliser Ruby on Rails
Comment déployer Bootstrap sur Rails
[Rails] Comment accélérer la composition de docker
[Rails] Comment ajouter de nouvelles pages
[Rails] Comment écrire la gestion des exceptions?
[Rails] Comment installer ImageMagick (RMajick)
[Rails] Comment installer Font Awesome
[Rails] Comment utiliser Active Storage
Comment installer jQuery dans Rails 6
[Introduction aux rails] Comment utiliser le rendu
Comment installer Swiper in Rails
Comment implémenter le calcul de la date en Java
Comment implémenter le filtre de Kalman par Java
[Rails] Comment convertir ERB en Haml
[Rails] Comment télécharger des images à l'aide de Carrierwave
Comment insérer une vidéo dans Rails
[Rails] Comment utiliser ActiveRecord :: Bitemporal (BiTemporalDataModel)
[Rails] Comment utiliser la méthode de la carte
Comment utiliser MySQL dans le didacticiel Rails