LoadError:无法加载此类文件 - capybara Stand Alone Code

时间:2015-04-15 17:37:28

标签: ruby web-scraping screen-scraping webpage

我正在使用Ruby和以下教程(http://ngauthier.com/2014/06/scraping-the-web-with-ruby.html

建立一个简单的后期采矿者

这是我目前的代码:

#!/usr/bin/ruby

require 'capybara'
require 'capybara/poltergeist'

include Capybara::DSL
Capybara.default_driver = :poltergeist

visit "http://dilloncarter.com"

all(".posts .post ").each do |post|
    title = post.find("h1 a").text
    url   = post.find("h1 a")["href"]
    date  = post.find("a")["datetime"]
    summary = post.find("p.preview").text


    puts title
    puts url
    puts date
    puts summary
    puts " "

end

我在加载gemfiles时遇到错误,如下所示:

LoadError: cannot load such file -- capybara
from /Users/dilloncarter/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from /Users/dilloncarter/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/site_ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
from WP_Miner.rb:3
from /Users/dilloncarter/.rvm/rubies/ruby-2.0.0-p353/bin/irb:12:in `<main>'

如何正确加载我的宝石?

2 个答案:

答案 0 :(得分:4)

您安装了capybarapoltergeist吗?

我刚检查了你链接的教程,但它似乎没有提到Gemfiles 此外,如果这是您的脚本,则您不需要Gemfile。

您需要的只是系统上安装的gem,并且在ruby加载路径中可用,require会找到它们。

尝试终端:

$ gem list capybara

查看是否已安装。 如果不是,请将它们安装在:

$ gem install poltergeist

Capybara是Poltergeist的依赖者,将自动安装。

这样做,脚本应该可以工作。

答案 1 :(得分:1)

将poltergeist添加到您的Gemfile中 宝石'poltergeist'