Module: OpenDMM::Maker::S1::Parser

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

def self.parse(content)
  page_uri = content.request.last_uri
  html = Nokogiri::HTML(content)
  specs = Utils.hash_from_dl(html.xpath('//*[@id="contents"]/dl'))
  return {
    actresses:       specs['女優'].text.split,
    code:            html.xpath('//*[@id="order"]/tr[1]/td[1]').text,
    cover_image:     html.at_xpath('//*[@id="slide-photo"]/div[@class="slide pake"]/img')['src'],
    description:     html.css('#contents > p.tx-comment').text,
    directors:       specs['監督'].text.split,
    genres:          specs['ジャンル'].css('a').map(&:text),
    page:            page_uri.to_s,
    release_date:    specs['発売日'].text,
    sample_images:   html.xpath('//*[@id="slide-photo"]/div[contains(@class, "slide") and not(contains(@class, "pake"))]/img').map { |img| img['src'] },
    series:          specs['シリーズ'].text,
    thumbnail_image: html.at_css('#slide-thumbnail > ul.ts_container > li.ts_thumbnails > div.ts_preview_wrapper > ul.ts_preview > li > img')['src'],
    title:           html.css('#contents > h1').text,
  }
end