2017-10-09 1 views
-5

J'ai écrit un script qui gratte des sites Web avec watir webdriver en mode sans tête avec phantomjs, et l'affiche dans le terminal.Comment gratter/analyser avec Ruby

Il y a beaucoup de résultats non désirés attachés aux données précieuses.

  1. Comment puis-je sauvegarder ces données sur mon ordinateur?
  2. Comment puis-je me débarrasser des informations indésirables qui raclent avec des données précieuses?
  3. Alors, comment puis-je présenter cette information d'une manière viable aka comme une table?

Répondre

1

Comment puis-je sauvegarder ces données sur l'ordinateur?

Vous pouvez enregistrer des données en écrivant des chaînes dans des fichiers, par ex. File.open('filename', 'w') { |f| f.puts "valuable data" }

En savoir plus sur l'écriture de fichiers en Ruby ici: https://learnrubythehardway.org/book/ex16.html

Comment puis-je alors se débarrasser des informations indésirables qui racle ensemble avec des données précieuses?

Vous pouvez utiliser les instructions if pour écrire des données dans le fichier sous certaines conditions. Si les données ne correspondent pas à une condition (par exemple, dans une balise html indésirable), vous ne l'écrivez pas dans le fichier.

En savoir plus sur les structures conditionnelles ici: https://www.tutorialspoint.com/ruby/ruby_if_else.htm

Alors, comment puis-je présenter ces informations d'une manière viable alias comme une table ?

Dépend de la façon dont vous voulez que vos utilisateurs lisent ces informations. Leur montrerez-vous une page HTML? Une feuille de calcul? Un fichier texte brut? Votre question en l'état est trop large et en tant que telle, je suppose que vous utiliserez la feuille de calcul, car c'est l'option la plus ressemblante à une table. Vous pouvez écrire des fichiers CSV avec la classe CSV de Ruby. Vous pouvez apprendre à faire cela dans cette réponse SO: https://stackoverflow.com/a/19694973/156746