Скрапи не видит аккуратные библиотеки
У меня есть простой рубиновый файл, который списывает цену с сайта Walmart. Я сделал чистку установки драгоценностей и чистоту установки драгоценностей. Когда я запускаю свой код в окне 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)
Похоже, что он не может найти аккуратные библиотеки, поэтому я поставил его на моем пути:
Path = C: \ Ruby193 \ Lib \ рубин \ самоцветы \1.9.1\ самоцветов \tidy_ffi-0.1.5\ Lib;C:\Ruby193\ Lib \ рубин \ самоцветы \1.9.1\ самоцветов \ кругленькую-1.1.2\ Lib
но он все равно выдает то же самое не может найти ошибку Tidy libs.
Заранее спасибо за помощь.
Код
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 ответа
У меня была такая же проблема на Mac.
Оскорбительный код находится в строке 204 файла reader.rb. Откройте его в вашем любимом редакторе:
atom /usr/local/lib/ruby/gems/2.2.0/gems/scrapi-2.0.0/lib/scraper/reader.rb
Просто закомментируйте, как сказал предыдущий ответ. Прекрасно работает после этого.
У меня точно такая же проблема, но на Linux.
Это как-то связано с функцией find_tidy в reader.rb - так или иначе она не может найти библиотеки. Я просто пошел и прокомментировал эту строку, и теперь она работает нормально.
# 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)
Попробуйте, если вы уверены, что в вашей системе есть аккуратные библиотеки.