Module: OpenDMM::Maker::Kawaii::Parser

Defined in:
lib/opendmm/makers/kawaii.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
# File 'lib/opendmm/makers/kawaii.rb', line 19

def self.parse(content)
  page_uri = content.request.last_uri
  html = Nokogiri::HTML(content)
  specs = Utils.hash_from_dl(html.css('#content > div.col540 > div > div.dvd_info > dl'))
  return {
    actresses:       specs['出演者'].css('a').map(&:text),
    code:            (specs['DVD品番'] || spesc['Blu-ray品番']).text,
    cover_image:     html.at_css('#content > div.col300 > span.pake > p.textright > a > img')['src'].gsub(/pm.jpg$/, 'pl.jpg'),
    description:     html.css('#content > div.col540 > div > p.text').text,
    genres:          specs['ジャンル'].css('a').map(&:text),
    movie_length:    (specs['DVD収録時間'] || specs['Blu-ray収録時間']).text,
    page:            page_uri.to_s,
    release_date:    (specs['DVD発売日'] || specs['Blu-ray発売日']).text,
    sample_images:   html.css('#work_image_unit > a > img').map { |img| img['src'].gsub(/js(?=-\d+\.jpg$)/, 'jp') },
    series:          specs['シリーズ'].text,
    title:           html.css('#content > div.col540 > div > h3.worktitle').text,
    thumbnail_image: html.at_css('#content > div.col300 > span.pake > p.textright > a > img')['src'],
  }
end