Module: OpenDMM::Maker::Befree::Parser

Defined in:
lib/opendmm/makers/befree.rb

Class Method Summary collapse

Class Method Details

.parse(content) ⇒ Object



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# File 'lib/opendmm/makers/befree.rb', line 19

def self.parse(content)
  page_uri = content.request.last_uri
  html = Nokogiri::HTML(content)
  specs = Utils.hash_from_dl(html.css('#right-navi > dl')).merge(
          Utils.hash_by_split(html.xpath('//*[@id="right-navi"]/div[1]/p[2]').map(&:text)))
  return {
    actresses:       html.css('#content > div.main > section > p.actress > a').map(&:text),
    code:            specs['品番:'].text,
    cover_image:     html.at_css('#content > div.main > section > div.package > img')['src'],
    description:     html.css('#content > div.main > section > p.comment').text,
    directors:       specs['監督:'].text.split,
    genres:          specs['ジャンル:'].css('a').map(&:text),
    movie_length:    specs['収録時間'],
    page:            page_uri.to_s,
    release_date:    specs['発売日:'].text,
    sample_images:   html.css('#content > div.main > section > ul > li > a').map { |a| a['href'] },
    thumbnail_image: html.at_css('#content > div.main > section > div.package > img')['src'],
    title:           html.xpath('//*[@id="content"]/div[2]/section/h2[1]').text,
  }
end