Class: Ruby2ch::Dat
- Inherits:
-
Object
- Object
- Ruby2ch::Dat
- Defined in:
- lib/ruby2ch/datparse.rb
Instance Attribute Summary collapse
-
#dat_url ⇒ Object
Returns the value of attribute dat_url.
-
#page ⇒ Object
Returns the value of attribute page.
Instance Method Summary collapse
- #dat_parse(res) ⇒ Object
-
#initialize(url) ⇒ Dat
constructor
A new instance of Dat.
- #to_a ⇒ Object
Constructor Details
#initialize(url) ⇒ Dat
Returns a new instance of Dat.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/ruby2ch/datparse.rb', line 6 def initialize(url) #http://uni.2ch.net/test/read.cgi/news/1322032301/l50 #http://bg20.2ch.net/test/r.so/uni.2ch.net/news/1322032301/ url_elements = url.split("/") @dat_url = "http://bg20.2ch.net/test/r.so/" + url_elements[2] + "/" + url_elements[5] + "/" + url_elements[6] + "/" @agent = Mechanize.new @page = @agent.get(@dat_url).body.toutf8 @page = @page.split("\n").map{|res| dat_parse(res).flatten}.delete_if{|res| res == []} @page.map{|res| res[6] = res[6].gsub("<>","").gsub("<br>","\n") unless res[5] == nil res[5] = res[5].scan(/.*>>(\d+).*/).flatten[0] res[5] = ">>" + res[5] + res[6] else res[5] = res[6] end res.pop } @thre = @page.map{|res| {name: res[0],place: res[1], date: res[2], id: res[3], point: res[4],text: res[5]} } end |
Instance Attribute Details
#dat_url ⇒ Object
Returns the value of attribute dat_url.
41 42 43 |
# File 'lib/ruby2ch/datparse.rb', line 41 def dat_url @dat_url end |
#page ⇒ Object
Returns the value of attribute page.
41 42 43 |
# File 'lib/ruby2ch/datparse.rb', line 41 def page @page end |
Instance Method Details
#dat_parse(res) ⇒ Object
35 36 37 |
# File 'lib/ruby2ch/datparse.rb', line 35 def dat_parse(res) res_array = res.scan(/(^\S+)\<\/b\>(\(.*\))\<b\>\<\>\S*\<\>(.+)\sID:(\S+)\s*(BE.*)*\<\>\s(\<a.*\<\/a\>)*(.*)/) end |
#to_a ⇒ Object
31 32 33 |
# File 'lib/ruby2ch/datparse.rb', line 31 def to_a @array = @page.split("\n") end |