scrapi看不到整洁的图书馆

时间:2013-01-11 21:16:25

标签: ruby windows-7 tidy

我有一个简单的ruby文件,可以降低沃尔玛网站的价格。我做了一个gem install scrapi和一个gem install整洁。当我在我的Windows 7框上运行我的代码时,我收到以下错误:

错误

c:/Ruby193/lib/ruby/gems/1.9.1/gems/scrapi-2.0.0/lib/scraper/reader.rb:216:in `r escue in parse_page': Scraper::Reader::HTMLParseError: didn't find tidy libs on your system. Please install tidy (http://tidy.sourceforge.net/) (Scraper::Reader ::HTMLParseError)

它似乎无法找到整洁的库,所以我把它放在我的路径中:

路径= C:\ Ruby193 \ lib中\红宝石\宝石\ 1.9.1 \宝石\ tidy_ffi-0.1.5 \ lib中; C:\ Ruby193 \ lib中\红宝石\宝石\ 1.9.1 \宝石\整齐-1.1 0.2 \ lib中

但它仍然抛出相同的无法找到整齐的库错误。

提前感谢您的帮助。

代码

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

scraper = Scraper.define do
process "div.firstRow div.priceAvail>div>div.PriceCompare>div.BodyS", :price => :text
result :price
end

url = URI.parse("http://www.walmart.com/search/search-ng.do?search_constraint=0&ic=48_0&search_query=LOST+third+season&Find.x=17&Find.y=1&Find=Find")
puts scraper.scrape(url)

2 个答案:

答案 0 :(得分:0)

我有完全相同的问题,但在Linux上。

它与reader.rb中的find_tidy函数有关 - 不知何故它无法找到库。我只是去评论那条线,现在工作正常。

      # Make sure the Tidy path is set and always apply the default
      # options (these only control things like errors, output type).
      # find_tidy
      options = (options || {}).update(TIDY_OPTIONS)

如果您确定系统中有整洁的库,请尝试使用它。

答案 1 :(得分:0)

我在Mac上遇到了同样的问题。

攻击性代码位于reader.rb文件的第204行。在你最喜欢的编辑器中打开它:

atom /usr/local/lib/ruby/gems/2.2.0/gems/scrapi-2.0.0/lib/scraper/reader.rb

就像之前的回答所说的那样评论出来。之后效果很好。