Module: Upton::Utils
- Defined in:
- lib/upton/utils.rb
Overview
This class contains a collection of helpers for Upton
Each method returns a Proc that (with an & ) can be used as the final
argument to Upton's scrape and scrape_to_csv
Class Method Summary collapse
-
.list(list_selector, deprecated = nil) ⇒ Object
Scrapes any set of HTML elements into an Array.
-
.table(table_selector, deprecated = nil) ⇒ Object
Scrapes an HTML
element into an Array of Arrays.
Class Method Details
.list(list_selector, deprecated = nil) ⇒ Object
Scrapes any set of HTML elements into an Array.
35 36 37 38 39 40
# File 'lib/upton/utils.rb', line 35 def self.list(list_selector, deprecated=nil) return Proc.new do |instance_html| html = ::Nokogiri::HTML(instance_html) html.search(list_selector).map{|list_element| list_element.text } end end
.table(table_selector, deprecated = nil) ⇒ Object
Scrapes an HTML
element into an Array of Arrays. The header, if present, is returned as the first row.
20 21 22 23 24 25 26 27 28 29 30
# File 'lib/upton/utils.rb', line 20 def self.table(table_selector, deprecated=nil) return Proc.new do |instance_html| html = ::Nokogiri::HTML(instance_html) output = [] headers = html.search(table_selector).css("th").map &:text output << headers table = html.search(table_selector).css("tr").each{|tr| output << tr.css("td").map(&:text) } output end end