【问题标题】:Crawling a hard drive with Ruby/Unix使用 Ruby/Unix 抓取硬盘
【发布时间】:2012-11-24 02:26:47
【问题描述】:

以前,我在网上翻了翻,没有找到很多关于这个话题的信息。我正在寻找实现一些 ruby​​ 代码来扫描我的硬盘驱动器以获取特定信息(例如电话号码)。我已经构建了几个正则表达式来找到我正在寻找的东西;但是,我不确定实现它们的核心逻辑是什么样的。有什么建议吗?

【问题讨论】:

  • 你打算做一个纯红宝石实现吗?在 *nix 环境中,您可以利用现有的程序/过滤器来完成此操作。
  • @Candide 我提到了 ruby​​,因为它是我最熟悉的,并且最终希望将其实现到 Rails 应用程序中。但我愿意接受建议!

标签: ruby-on-rails ruby ruby-on-rails-3 unix web-crawler


【解决方案1】:

您应该遍历文件系统,递归目录,并将您的例程应用于每个文件。我只是使用find command 的组合,从您的文件系统根目录开始,然后处理每个文件的例程。我不知道如何使用纯红宝石来做到这一点,但我期待其他人提供他们的智慧。

由于您使用的是ruby,这里有一些(未经测试)code I found

require ’rubygems’
require ’alib’ 

count = 0
alib.util.find2 ‘/’ do |entry, stat|
   count += 1 if stat.file?
end

看来您需要alib gem 来运行它,让我知道它是如何工作的。

【讨论】:

  • 谢谢!有没有想到什么特定的语言?正如我在第一条评论中提到的那样,我最终希望将其实现到 Rails 应用程序中。
  • 你最熟悉的就是我会用的那个。我最熟悉 Unix 命令,其次是 Java、python、perl 等...我将研究在 ruby​​ 中爬取文件系统。
  • 我在运行时不断收到以下错误:invalid multibyte char (US-ASCII)
  • 根据stackoverflow.com/questions/3678172/…,把'# encoding: utf-8'放在文件顶部。
猜你喜欢
  • 2012-05-12
  • 2012-03-07
  • 2011-02-18
  • 1970-01-01
  • 2016-06-10
  • 1970-01-01
  • 2018-12-28
  • 2018-12-24
  • 1970-01-01
相关资源
最近更新 更多