ruby 使用Capybara w / Poltergeist(PhantomJS)从位于给定URL的HTML页面的主体中抓取文本内容。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 使用Capybara w / Poltergeist(PhantomJS)从位于给定URL的HTML页面的主体中抓取文本内容。相关的知识,希望对你有一定的参考价值。
#!/usr/bin/env ruby
require 'capybara'
require 'capybara/poltergeist'
class Scraper
include Capybara::DSL
Capybara.register_driver :poltergeist do |app|
Capybara::Poltergeist::Driver.new app,
phantomjs_options: ['--load-images=no','--ignore-ssl-errors=yes'],
js_errors: false,
inspector: false,
debug: false
end
attr_accessor :document, :response_headers, :title, :metas, :text
def initialize(url)
@session = Capybara::Session.new(:poltergeist)
@session.driver.headers = { 'User-Agent' => "Mozilla/5.0 (Macintosh; Intel Mac OS X)" }
get url
end
def get(url)
@session.visit url
@document = @session.document
@response_headers = @session.response_headers
@title = @session.title
@metas = @session.find_all('meta', visible: false).collect(&:native).collect(&:attributes)
@text = @document.text 'body'
@session.driver.quit
self
end
end
s = Scraper.new "http://www.humani.se"
以上是关于ruby 使用Capybara w / Poltergeist(PhantomJS)从位于给定URL的HTML页面的主体中抓取文本内容。的主要内容,如果未能解决你的问题,请参考以下文章
ruby Capybara JS使用angular.js和/或turbolinks怪癖
ruby capybara.rb(无头铬)
ruby Capybara + Poltergeistの雏形
ruby capybara_screenshots.rb
ruby capybara.rb
ruby Capybara自动保存测试失败的屏幕截图