2014-04-23 44 views
1

我試圖用rails與此代碼運行scrapi:如何用Ruby運行ScrAPI?

require 'rubygems' 
require 'scrapi' 
require 'tidy' 

scraper = Scraper.define do 
    process "title", :page_name => :text 
    result :page_name 
end 

uri = URI.parse("http://railscasts.com/episodes/173-screen-scraping-with-scrapi") 
p scraper.scrape(uri) 

,但我得到了以下錯誤:

DL is deprecated, please use Fiddle 
/usr/local/rvm/gems/ruby-2.0.0-p353/gems/tidy-1.1.2/lib/tidy/tidybuf.rb:5:in `<class:Tidybuf>': uninitialized constant DL::Importable (NameError) 
     from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/tidy-1.1.2/lib/tidy/tidybuf.rb:3:in `<top (required)>' 
     from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
     from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require' 
     from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/tidy-1.1.2/lib/tidy.rb:25:in `<module:Tidy>' 
     from /usr/local/rvm/gems/ruby-2.0.0-p353/gems/tidy-1.1.2/lib/tidy.rb:21:in `<top (required)>' 
     from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require' 
     from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require' 
     from /usr/local/rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in `require' 
     from scrapitest.rb:3:in `<main>' 

有任何人有一個想法,這是爲什麼和我能做什麼來修理它?

謝謝。

+0

您收到的消息在'Windows'之上的'ruby 2.0.0p0(2013-02-24)'上是常見的,您是否在這些環境中,請看[this](http://stackoverflow.com/questions/15590450/ruby​​-2-0-0p0-irb-error-dl-is-deprecated-please-use-fiddle)post。 – Saurabh

+1

@saurabh我在'Linux'而不是'Windows' – Xeen

回答