Module: OpenDMM::Maker::Aroma::Parser

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

Class Method Summary collapse

Class Method Details

.parse(content) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/opendmm/makers/aroma.rb', line 23

def self.parse(content)
  page_uri = content.request.last_uri
  html = Nokogiri::HTML(Utils.force_utf8(content))
  specs = Utils.hash_by_split(html.xpath('/html/body/table/tr/td/table/tr[4]/td[2]/table/tr/td[2]/table/tr[3]/td/table/tr[2]/td[2]/table/tr/td[3]/table/tr[3]').text.split)
  return {
    actresses:       specs['出演者'].try(:split, '・'),
    code:            specs['品番'],
    cover_image:     parse_cover_image(html, page_uri),
    directors:       specs['監督'].try(:split, '・'),
    description:     html.xpath('/html/body/table/tr/td/table/tr[4]/td[2]/table/tr/td[2]/table/tr[3]/td/table/tr[9]/td[2]').text,
    genres:          specs['ジャンル'].split,
    label:           specs['レーベル'],
    maker:           'Aroma',
    movie_length:    specs['時間'],
    page:            page_uri.to_s,
    sample_images:   parse_sample_images(html, page_uri),
    thumbnail_image: html.at_xpath('/html/body/table/tr/td/table/tr[4]/td[2]/table/tr/td[2]/table/tr[3]/td/table/tr[2]/td[2]/table/tr/td[1]/a/img')['src'],
    title:           html.xpath('/html/body/table/tr/td/table/tr[4]/td[2]/table/tr/td[2]/table/tr[3]/td/table/tr[2]/td[2]/table/tr/td[3]/table/tr[1]/td').text,
  }
end