Class: Otacrawler::Sites::TonariNoYJ
- Includes:
- Mem
- Defined in:
- lib/otacrawler/sites/tonari_no_yj.rb
Instance Method Summary collapse
- #analyze ⇒ Object
- #authors ⇒ Object
- #description(url) ⇒ Object
- #image_url_list ⇒ Object
-
#initialize ⇒ TonariNoYJ
constructor
A new instance of TonariNoYJ.
- #stories(url) ⇒ Object
- #titles ⇒ Object
- #url_list ⇒ Object
Methods inherited from Base
Constructor Details
#initialize ⇒ TonariNoYJ
Returns a new instance of TonariNoYJ.
9 10 11 12 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 9 def initialize @url = "http://www.tonarinoyj.jp" @collector = Collector.new(@url) end |
Instance Method Details
#analyze ⇒ Object
14 15 16 17 18 19 20 21 22 23 24 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 14 def analyze url_list.each_with_index do |url, i| params = { url: url, title: titles[i] } comic = Models::Comic.new(params) if comic.save # overlapping check create(comic, i) else update(url, i) end end end |
#authors ⇒ Object
41 42 43 44 45 46 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 41 def item_body.map do |comic| = comic.css('p').first.inner_text .split(/[[:space:]]/) end end |
#description(url) ⇒ Object
59 60 61 62 63 64 65 66 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 59 def description(url) collector = Collector.new(url) pattern = "//div[@class='single-story']" comic = collector.collect(pattern) comic.first.css('p').first.inner_text rescue "" end |
#image_url_list ⇒ Object
49 50 51 52 53 54 55 56 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 49 def image_url_list css = 'figure.home-manga-item-figure' comics = items.map {|item| item.css(css) } comics.map do |comic| path = comic.css('img').first.attributes['src'].to_s File.join(@url, path) end end |
#stories(url) ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 68 def stories(url) collector = Collector.new(url) pattern = "//div[@class='single-backnumber']/dl" stories = collector.collect(pattern) result = stories.map do |story| unless story.css('dt').empty? title = story.css('dt').first.inner_text else title = "" end story.css('li').map do |number| path = number.css('a').first.attributes["href"].to_s { url: URI.join(@url, path).to_s, title: title, number: number.inner_text.to_i } end end result.flatten end |
#titles ⇒ Object
34 35 36 37 38 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 34 def titles item_body.map do |comic| comic.css('h3').first.inner_text end end |
#url_list ⇒ Object
26 27 28 29 30 31 |
# File 'lib/otacrawler/sites/tonari_no_yj.rb', line 26 def url_list item_body.map do |comic| path = comic.css('a').first.attributes["href"].to_s File.join(@url, path) end end |