class MediaartsScraper::Page::AnimeEpisodesPage
Constants
- OPTION
- PAGE_OPTION
- PATH
Attributes
ans_id[RW]
Public Class Methods
from_ans_id(ans_id, page_num = 1)
click to toggle source
# File lib/mediaarts_scraper/page/anime_episodes_page.rb, line 12 def self.from_ans_id(ans_id, page_num = 1) self.new(url: generate_url(ans_id, page_num)) end
from_url(url)
click to toggle source
# File lib/mediaarts_scraper/page/anime_episodes_page.rb, line 16 def self.from_url(url) self.new(url: url) end
generate_url(ans_id, page_num)
click to toggle source
# File lib/mediaarts_scraper/page/anime_episodes_page.rb, line 20 def self.generate_url(ans_id, page_num) [MediaartsScraper.base_url, AnimeSeriesPage::PATH, ans_id, PATH, OPTION, PAGE_OPTION, page_num].join end
Public Instance Methods
next_page()
click to toggle source
# File lib/mediaarts_scraper/page/anime_episodes_page.rb, line 30 def next_page @next_page ||= parse_next_page end
Private Instance Methods
parse(html)
click to toggle source
# File lib/mediaarts_scraper/page/anime_episodes_page.rb, line 36 def parse(html) title = /\s(.+)$/.match(doc.at_xpath("//section[@class='storyBlock']/h1").text.strip).to_a[1] story_table = parse_common_serial_rows_table(doc.at_xpath("//table[@class='storyTbl']")) { "title" => title, "story_table" => story_table, } end
parse_next_page()
click to toggle source
# File lib/mediaarts_scraper/page/anime_episodes_page.rb, line 47 def parse_next_page nav = doc.at_xpath("//nav[@class='pager']") next_page_url = nav.at_xpath("//a[@rel='next']")&.attribute("href")&.value next_page_url ? self.class.from_url(resolve_relative_url(url, next_page_url)) : nil end