2017-10-09 90 views
-5

我寫了一個腳本,用無線模式用phantomjs在watir webdriver上刮取網站,並在終端中顯示它。如何使用Ruby進行刮擦/解析

附加到有價值的數據有很多不想要的結果。

  1. 我該如何着手將這些數據保存在計算機上?
  2. 我該如何擺脫不必要的信息以及有價值的數據?
  3. 那麼我該如何以一種可行的方式將這些信息作爲表格呈現?

回答

1

我該如何去有關保存在計算機上的這些數據?

您可以通過向文件寫入字符串來保存數據,例如File.open('filename', 'w') { |f| f.puts "valuable data" }

詳細瞭解這裏的Ruby寫入文件:https://learnrubythehardway.org/book/ex16.html

我怎麼那麼擺脫這湊集 提供有價值的數據不需要的信息?

您可以使用if語句有條件地將數據寫入文件。如果數據與某些條件不匹配(例如,它存在於不需要的html標記中),則不會將其寫入文件。

瞭解更多有條件的結構在這裏:https://www.tutorialspoint.com/ruby/ruby_if_else.htm

那我怎麼在一個可行的方式呈現這個信息又名作爲 表?

取決於您希望用戶如何閱讀此信息。你會向他們展示一個HTML頁面嗎?電子表格?純文本文件?現在你的問題太廣泛了,因此,我會假設你將會使用電子表格,因爲這是最類似桌面的選項。您可以使用Ruby的CSV類編寫CSV文件。你可以學習如何在這個答案中做到這一點:https://stackoverflow.com/a/19694973/156746