我正在使用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>'
如何正确加载我的宝石?
答案 0 :(得分:4)
您安装了capybara
和poltergeist
吗?
我刚检查了你链接的教程,但它似乎没有提到Gemfiles 此外,如果这是您的脚本,则您不需要Gemfile。
您需要的只是系统上安装的gem,并且在ruby加载路径中可用,require
会找到它们。
尝试终端:
$ gem list capybara
查看是否已安装。 如果不是,请将它们安装在:
$ gem install poltergeist
Capybara是Poltergeist的依赖者,将自动安装。
这样做,脚本应该可以工作。
答案 1 :(得分:1)
将poltergeist添加到您的Gemfile中 宝石'poltergeist'