Ruby Readability
Command line:
(sudo) gem install ruby-readability
Bundler:
gem "ruby-readability", :require => 'readability'
Example:
require 'rubygems'
require 'readability'
require 'open-uri'
source = open('http://lab.arc90.com/experiments/readability/').read
puts Readability::Document.new(source).content
Options:
You may provide additions options to Readability::Document.new, including:
:tags - the base whitelist of tags to sanitize, defaults to %w[div p]
:remove_empty_nodes - remove <p> tags that have no text content; also removes p tags that contain only images
:attributes - whitelist of allowed attributes
:debug - provide debugging output, defaults false
:encoding - if this page is of a known encoding, you can specify it; if left
unspecified, the encoding will be guessed (only in Ruby 1.9.x)
:html_headers - in Ruby 1.9.x these will be passed to the guess_html_encoding gem
to aid with guessing the HTML encoding
Readability comes with a command-line tool for experimentation in bin/readability.
Usage: readability [options] URL
-d, --debug Show debug output
-i, --images Keep images and links
-h, --help Show this message
Potential issues:
-
If you’re on a Mac and are getting segmentation faults, see this discussion github.com/tenderlove/nokogiri/issues/404 and consider updating your version of libxml2. Version 2.7.8 of libxml2 with the following worked for me: gem install nokogiri – –with-xml2-include=/usr/local/Cellar/libxml2/2.7.8/include/libxml2 –with-xml2-lib=/usr/local/Cellar/libxml2/2.7.8/lib –with-xslt-dir=/usr/local/Cellar/libxslt/1.1.26
This code is under the Apache License 2.0. www.apache.org/licenses/LICENSE-2.0
This is a ruby port of arc90’s readability project
lab.arc90.com/experiments/readability/
Given a html document, it pulls out the main body text and cleans it up.
Ruby port by starrhorne, libc, and iterationlabs. Original gemification by fizx.