2017-10-09 89 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