我有一个简单的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)
答案 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
就像之前的回答所说的那样评论出来。之后效果很好。