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 <table> 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 <table> 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 |