opendmm 0.1.1 → 0.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (98) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +1 -1
  3. data/lib/opendmm.rb +13 -17
  4. data/lib/opendmm/makers/aknr.rb +1 -0
  5. data/lib/opendmm/makers/anna_and_hanako.rb +1 -0
  6. data/lib/opendmm/makers/aurora.rb +1 -1
  7. data/lib/opendmm/makers/baltan.rb +1 -0
  8. data/lib/opendmm/makers/befree.rb +1 -0
  9. data/lib/opendmm/makers/bi.rb +1 -0
  10. data/lib/opendmm/makers/bijin_majo.rb +1 -0
  11. data/lib/opendmm/makers/candy.rb +1 -0
  12. data/lib/opendmm/makers/caribbean.rb +7 -6
  13. data/lib/opendmm/makers/cross.rb +1 -0
  14. data/lib/opendmm/makers/dmm_collection.rb +1 -0
  15. data/lib/opendmm/makers/ebody.rb +1 -0
  16. data/lib/opendmm/makers/kawaii.rb +1 -0
  17. data/lib/opendmm/makers/kira_kira.rb +1 -0
  18. data/lib/opendmm/makers/madonna.rb +1 -0
  19. data/lib/opendmm/makers/moodyz.rb +1 -0
  20. data/lib/opendmm/makers/opera.rb +1 -0
  21. data/lib/opendmm/makers/oppai.rb +1 -0
  22. data/lib/opendmm/makers/premium.rb +1 -0
  23. data/lib/opendmm/makers/s1.rb +1 -0
  24. data/lib/opendmm/makers/s_cute.rb +39 -0
  25. data/lib/opendmm/makers/tameikegoro.rb +1 -0
  26. data/lib/opendmm/makers/to_satsu.rb +1 -0
  27. data/lib/opendmm/version.rb +1 -1
  28. data/test/{fixtures_test.rb → fixture_test.rb} +1 -1
  29. data/test/fixtures/ANND-066.json +1 -0
  30. data/test/fixtures/APAA-182.json +1 -1
  31. data/test/fixtures/APAK-051.json +1 -1
  32. data/test/fixtures/BBI-104.json +1 -0
  33. data/test/fixtures/BEB-001.json +1 -0
  34. data/test/fixtures/BF-175.json +1 -0
  35. data/test/fixtures/BID-017.json +1 -0
  36. data/test/fixtures/BIJN-006.json +1 -0
  37. data/test/fixtures/BLK-049.json +1 -0
  38. data/test/fixtures/BWB-005.json +1 -0
  39. data/test/fixtures/CLUB-003.json +1 -0
  40. data/test/fixtures/CND-012.json +1 -0
  41. data/test/fixtures/CND-062.json +1 -0
  42. data/test/fixtures/CRAD-099.json +1 -0
  43. data/test/fixtures/CRPD-451.json +1 -0
  44. data/test/fixtures/CRSS-013.json +1 -0
  45. data/test/fixtures/Carib 021511-620.json +1 -0
  46. data/test/fixtures/DCOL-017.json +1 -0
  47. data/test/fixtures/DGL-007.json +1 -0
  48. data/test/fixtures/EBOD-109.json +1 -0
  49. data/test/fixtures/FSET-399.json +1 -0
  50. data/test/fixtures/JUC-285.json +1 -0
  51. data/test/fixtures/JUFD-137.json +1 -0
  52. data/test/fixtures/JUX-007.json +1 -0
  53. data/test/fixtures/JUX-119.json +1 -0
  54. data/test/fixtures/KAWD-249.json +1 -0
  55. data/test/fixtures/KIRD-147.json +1 -0
  56. data/test/fixtures/KISD-042.json +1 -0
  57. data/test/fixtures/MDYD-544.json +1 -0
  58. data/test/fixtures/MIAD-490.json +1 -0
  59. data/test/fixtures/MIDD-599.json +1 -0
  60. data/test/fixtures/MIDD-643.json +1 -0
  61. data/test/fixtures/MIDD-644.json +1 -0
  62. data/test/fixtures/MIDE-004.json +1 -0
  63. data/test/fixtures/MIGD-284.json +1 -0
  64. data/test/fixtures/MIGD-336.json +1 -0
  65. data/test/fixtures/MIGD-337.json +1 -0
  66. data/test/fixtures/MIMK-005.json +1 -0
  67. data/test/fixtures/MINT-004.json +1 -0
  68. data/test/fixtures/MIQD-010.json +1 -0
  69. data/test/fixtures/MIRD-071.json +1 -0
  70. data/test/fixtures/MIRD-072.json +1 -0
  71. data/test/fixtures/MIRD-073.json +1 -0
  72. data/test/fixtures/MIXS-005.json +1 -0
  73. data/test/fixtures/OBA-045.json +1 -0
  74. data/test/fixtures/ONSD-570.json +1 -0
  75. data/test/fixtures/OPUD-125.json +1 -0
  76. data/test/fixtures/PBD-134.json +1 -0
  77. data/test/fixtures/PGD-306.json +1 -0
  78. data/test/fixtures/PJD-085.json +1 -0
  79. data/test/fixtures/PPPD-102.json +1 -0
  80. data/test/fixtures/PPSD-028.json +1 -0
  81. data/test/fixtures/PTV-001.json +1 -0
  82. data/test/fixtures/PXD-027.json +1 -0
  83. data/test/fixtures/S-Cute 248_hibiki_07.json +23 -0
  84. data/test/fixtures/S-Cute ps5_07_rimu.json +23 -0
  85. data/test/fixtures/S-Cute ps6_99_reona.json +23 -0
  86. data/test/fixtures/S-Cute ps7_83_akari2.json +23 -0
  87. data/test/fixtures/S-Cute swm_05_risa2.json +23 -0
  88. data/test/fixtures/SET-007.json +1 -0
  89. data/test/fixtures/SNIS-041.json +1 -0
  90. data/test/fixtures/SOE-259.json +1 -0
  91. data/test/fixtures/SPS-008.json +1 -0
  92. data/test/fixtures/TMAM-034.json +1 -0
  93. data/test/fixtures/TMCY-039.json +1 -0
  94. data/test/fixtures/TMDI-040.json +1 -0
  95. data/test/fixtures/TMEM-044.json +1 -0
  96. data/test/fixtures/TMVI-042.json +1 -0
  97. data/test/fixtures/URE-011.json +1 -0
  98. metadata +15 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6316eee9768951bd050640f1df3ff633df713b2f
4
- data.tar.gz: 9a3bb7293f2701d5a589e9457c636aa935738513
3
+ metadata.gz: 1aaf9655973d23c0b18ca2d59213c47937849f52
4
+ data.tar.gz: a493294bcb19539a86b534b586df4247a16b25d7
5
5
  SHA512:
6
- metadata.gz: ae5a04a4f0fd4490a71610edb504876280fdaa9475bf4354a3b80c6c29cf447b9c4b27351b1191c6f50887fb8f80f84336e17a71be9958f6772671307948a5ff
7
- data.tar.gz: b037dfe7be9b34fd75ea39914c53db2eda63079695193ed69f68ebc816431e9cc9553ea50bec566b94f51d85ec8f3cef91ccefa2056b2364afb95f60dda07690
6
+ metadata.gz: e0cd1a0d024c2ab0c6e8e7448b7c4f9e3881559d9207f2072d0502ce9c6e2fd218f3e2d04346c2c0c743532aee5dc0a242e438fa4cad13ca6816596f5f04c382
7
+ data.tar.gz: a32c9089df55e38bbc954548dbdf4e7389d9a857057598cac4d39331a5a7cda5bc8fcd99f111161eb3ca1a466e2520377a27a57368725fbd6cf494127480982b
data/Rakefile CHANGED
@@ -50,7 +50,7 @@ module OpenDMM
50
50
 
51
51
  def self.item(name)
52
52
  case name
53
- when /(EXAM)-?(\\d{3})/i
53
+ when /^(EXAM)-?(\\d{3})$/i
54
54
  get("/#\{$1.downcase\}#\{$2\}")
55
55
  end
56
56
  end
data/lib/opendmm.rb CHANGED
@@ -10,23 +10,13 @@ module OpenDMM
10
10
  SearchEngine::Dmm.search(name)
11
11
  return nil unless details
12
12
  details = details.squish_hard
13
- if !details[:cover_image].start_with?('http')
14
- details[:cover_image] = URI.join(details[:page], details[:cover_image]).to_s
15
- end
16
- if !details[:thumbnail_image].start_with?('http')
17
- details[:thumbnail_image] = URI.join(details[:page], details[:thumbnail_image]).to_s
18
- end
19
- if details[:sample_images]
20
- details[:sample_images] = details[:sample_images].map do |uri|
21
- uri.start_with?('http') ? uri : URI.join(details[:page], uri).to_s
22
- end
23
- end
24
- if details[:movie_length].instance_of? String
25
- details[:movie_length] = ChronicDuration.parse(details[:movie_length])
26
- end
27
- if details[:release_date].instance_of? String
28
- details[:release_date] = Date.parse(details[:release_date])
29
- end
13
+ details[:cover_image] = join_if_relative(details[:page], details[:cover_image])
14
+ details[:thumbnail_image] = join_if_relative(details[:page], details[:thumbnail_image])
15
+ details[:sample_images] = details[:sample_images].map do |uri|
16
+ join_if_relative(details[:page], uri)
17
+ end if details[:sample_images]
18
+ details[:movie_length] = ChronicDuration.parse(details[:movie_length]) if details[:movie_length]
19
+ details[:release_date] = Date.parse(details[:release_date]) if details[:release_date]
30
20
  details
31
21
  end
32
22
 
@@ -35,4 +25,10 @@ module OpenDMM
35
25
  rescue
36
26
  nil
37
27
  end
28
+
29
+ private
30
+ def self.join_if_relative(page_url, image_url)
31
+ return nil unless image_url
32
+ image_url.start_with?('http') ? image_url : URI.join(page_url, image_url).to_s
33
+ end
38
34
  end
@@ -23,6 +23,7 @@ module OpenDMM
23
23
  code: html.css('//*[@id="info"]/div[5]/div[2]').text,
24
24
  cover_image: html.at_css('#jktimg_l2 > a')['href'],
25
25
  directors: html.css('//*[@id="info"]/div[4]/div[2]').text.split,
26
+ maker: 'AKNR',
26
27
  movie_length: html.css('//*[@id="info"]/div[6]/div[2]').text,
27
28
  page: page_uri.to_s,
28
29
  release_date: html.css('//*[@id="info"]/div[2]/div[2]').text,
@@ -25,6 +25,7 @@ module OpenDMM
25
25
  cover_image: html.at_xpath('//*[@id="pake-bottom-box"]/dl/a')['href'],
26
26
  description: html.xpath('//*[@id="txt-bottom-box"]').text,
27
27
  directors: specs['監督'].split('/'),
28
+ maker: 'アンナと花子',
28
29
  movie_length: specs['収録時間'],
29
30
  page: page_uri.to_s,
30
31
  release_date: specs['発売日'],
@@ -28,7 +28,7 @@ module OpenDMM
28
28
  directors: specs['監督'].css('ul li').map(&:text),
29
29
  genres: specs['ジャンル'].css('ul li').map(&:text),
30
30
  label: specs['レーベル'],
31
- maker: 'Apache Project',
31
+ maker: 'Aurora Project',
32
32
  movie_length: specs['収録時間'].text,
33
33
  page: page_uri.to_s,
34
34
  release_date: specs['発売日'].text,
@@ -24,6 +24,7 @@ module OpenDMM
24
24
  cover_image: html.at_css('#content1 > section > div.img > img')['src'],
25
25
  description: html.css('#content1 > section > p').text,
26
26
  label: html.xpath('//*[@id="content1"]/section/div[2]/table/tr[4]/td').text,
27
+ maker: 'Baltan',
27
28
  movie_length: html.xpath('//*[@id="content1"]/section/div[2]/table/tr[2]/td').text,
28
29
  page: page_uri.to_s,
29
30
  release_date: html.xpath('//*[@id="content1"]/section/div[2]/table/tr[3]/td').text,
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  description: html.css('#content > div.main > section > p.comment').text,
28
28
  directors: specs['監督:'].text.split,
29
29
  genres: specs['ジャンル:'].css('a').map(&:text),
30
+ maker: 'BeFree',
30
31
  movie_length: specs['収録時間'],
31
32
  page: page_uri.to_s,
32
33
  release_date: specs['発売日:'].text,
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  directors: specs['監督'].split,
28
28
  genres: specs['ジャンル'].split('/'),
29
29
  label: specs['レーベル'],
30
+ maker: '美',
30
31
  movie_length: specs['収録時間'],
31
32
  page: page_uri.to_s,
32
33
  release_date: specs['発売日'],
@@ -24,6 +24,7 @@ module OpenDMM
24
24
  code: specs['品番:'].text,
25
25
  cover_image: html.at_css('#detail_main > div.figure > a')['href'],
26
26
  description: html.css('#detail_main > div.detail_item > p').text,
27
+ maker: '美人魔女',
27
28
  movie_length: specs['収録時間:'].text,
28
29
  page: page_uri.to_s,
29
30
  release_date: specs['発売日:'].text,
@@ -25,6 +25,7 @@ module OpenDMM
25
25
  cover_image: html.at_xpath('//*[@id="thumbnail"]/a[1]')['href'],
26
26
  description: html.css('#brand > p.p_actress_detail').text,
27
27
  genres: specs['ジャンル'].css('a').map(&:text),
28
+ maker: 'Candy',
28
29
  movie_length: specs['収録時間'].text,
29
30
  page: page_uri.to_s,
30
31
  release_date: specs['発売日'].text,
@@ -18,19 +18,20 @@ module OpenDMM
18
18
  def self.parse(content)
19
19
  page_uri = content.request.last_uri
20
20
  html = Nokogiri::HTML(content)
21
- specs = Utils.hash_by_split(html.css('#main-content > div.main-content-movieinfo > div.movie-info > dl').map(&:text))
21
+ specs = Utils.hash_by_split(html.css('div.main-content-movieinfo > div.movie-info > dl').map(&:text))
22
22
  return {
23
23
  actresses: specs['出演'].split,
24
24
  categories: specs['カテゴリー'].split,
25
- code: "Carib " + page_uri.to_s.match(/\d{6}-\d{3}/)[0],
26
- cover_image: "./images/l_l.jpg",
27
- description: html.css('#main-content > div.main-content-movieinfo > div.movie-comment').text,
25
+ code: 'Carib ' + page_uri.to_s.split('/')[-2],
26
+ cover_image: './images/l_l.jpg',
27
+ description: html.css('div.main-content-movieinfo > div.movie-comment').text,
28
+ maker: 'Caribbean',
28
29
  movie_length: specs['再生時間'],
29
30
  page: page_uri.to_s,
30
31
  release_date: specs['配信日'],
31
- sample_images: html.css('#main-content > div.detail-content.detail-content-gallery-old > table > tr > td > a').map{ |a| a['href'] }.reject{ |uri| uri =~ /\/member\// },
32
+ sample_images: html.css('div.detail-content.detail-content-gallery-old > table > tr > td > a').map{ |a| a['href'] }.reject{ |uri| uri =~ /\/member\// },
32
33
  thumbnail_image: "./images/l_s.jpg",
33
- title: html.css('#main-content > div.main-content-movieinfo > div.video-detail > span.movie-title > h1').text,
34
+ title: html.css('div.main-content-movieinfo > div.video-detail > span.movie-title > h1').text,
34
35
  }
35
36
  end
36
37
  end
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  description: html.css('#details > div > p.story').text,
28
28
  directors: specs['監督'].css('a').map(&:text),
29
29
  genres: specs['ジャンル'].css('a').map(&:text),
30
+ maker: 'Cross',
30
31
  movie_length: specs['収録時間'].text,
31
32
  page: page_uri.to_s,
32
33
  release_date: specs['発売日'].text,
@@ -24,6 +24,7 @@ module OpenDMM
24
24
  code: specs['品番'].text,
25
25
  cover_image: html.at_xpath('//*[@id="package"]/h4/a')['href'],
26
26
  description: html.xpath('//*[@id="comment"]/h5').text,
27
+ maker: 'D★Collection',
27
28
  movie_length: specs['収録時間'].text,
28
29
  page: page_uri.to_s,
29
30
  release_date: specs['DVD発売日'].text,
@@ -26,6 +26,7 @@ module OpenDMM
26
26
  cover_image: html.at_css('div.package > a.package-pic')["href"],
27
27
  description: html.css('div.title-data > p.comment').text,
28
28
  genres: specs['ジャンル'].css('a').map(&:text),
29
+ maker: 'E-Body',
29
30
  movie_length: specs['収録時間'],
30
31
  page: page_uri.to_s,
31
32
  release_date: specs['発売日'].text,
@@ -25,6 +25,7 @@ module OpenDMM
25
25
  cover_image: html.at_css('#content > div.col300 > span.pake > p.textright > a > img')['src'].gsub(/pm.jpg$/, 'pl.jpg'),
26
26
  description: html.css('#content > div.col540 > div > p.text').text,
27
27
  genres: specs['ジャンル'].css('a').map(&:text),
28
+ maker: 'Kawaii',
28
29
  movie_length: (specs['DVD収録時間'] || specs['Blu-ray収録時間']).text,
29
30
  page: page_uri.to_s,
30
31
  release_date: (specs['DVD発売日'] || specs['Blu-ray発売日']).text,
@@ -26,6 +26,7 @@ module OpenDMM
26
26
  description: html.xpath('//*[@id="wrap-works"]/section/section[1]/p').text,
27
27
  genres: specs['ジャンル'].css('ul > li').map(&:text),
28
28
  label: specs['レーベル'].text,
29
+ maker: 'Kira☆Kira',
29
30
  movie_length: specs['収録時間'].text,
30
31
  page: page_uri.to_s,
31
32
  release_date: specs['発売日'].text,
@@ -26,6 +26,7 @@ module OpenDMM
26
26
  description: html.css('#column_contents > div > div.left_contents > p').text,
27
27
  directors: specs['監督'].text.split,
28
28
  genres: specs['ジャンル'].text.split,
29
+ maker: 'Madonna',
29
30
  movie_length: specs['収録時間'].text.remove('DVD'),
30
31
  page: page_uri.to_s,
31
32
  release_date: specs['発売日'].text.remove('DVD'),
@@ -32,6 +32,7 @@ module OpenDMM
32
32
  directors: specs['▪監督'].split,
33
33
  genres: specs['▪ジャンル'].split('/'),
34
34
  label: specs['▪レーベル'],
35
+ maker: 'Moodyz',
35
36
  movie_length: specs['収録時間'],
36
37
  page: page_uri.to_s,
37
38
  release_date: specs['発売日'],
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  description: html.css('#container-detail > div.pkg-data > div.comment-data').text,
28
28
  directors: specs['監督'].css('a').map(&:text),
29
29
  genres: specs['ジャンル'].css('a').map(&:text),
30
+ maker: 'Opera',
30
31
  movie_length: specs['収録時間'].text,
31
32
  page: page_uri.to_s,
32
33
  release_date: specs['発売日'].text,
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  description: html.css('#content_main_detail > div > div.works_left > p.detail_txt').text,
28
28
  genres: specs['ジャンル'].css('a').map(&:text),
29
29
  label: specs['レーベル'].text,
30
+ maker: 'Oppai',
30
31
  movie_length: dvd(specs['収録時間'].text),
31
32
  page: page_uri.to_s,
32
33
  release_date: dvd(specs['発売日'].text),
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  directors: specs['監督'].split,
28
28
  genres: specs['ジャンル'].split('/'),
29
29
  label: specs['レーベル'],
30
+ maker: 'Premium',
30
31
  movie_length: specs['DVD収録時間'] || specs['Blu-ray収録時間'],
31
32
  page: page_uri.to_s,
32
33
  release_date: specs['発売日'],
@@ -26,6 +26,7 @@ module OpenDMM
26
26
  description: html.css('#contents > p.tx-comment').text,
27
27
  directors: specs['監督'].text.split,
28
28
  genres: specs['ジャンル'].css('a').map(&:text),
29
+ maker: 'S1',
29
30
  page: page_uri.to_s,
30
31
  release_date: specs['発売日'].text,
31
32
  sample_images: html.xpath('//*[@id="slide-photo"]/div[contains(@class, "slide") and not(contains(@class, "pake"))]/img').map { |img| img['src'] },
@@ -0,0 +1,39 @@
1
+ module OpenDMM
2
+ module Maker
3
+ module SCute
4
+ include Maker
5
+
6
+ module Site
7
+ include HTTParty
8
+ base_uri 'www.s-cute.com'
9
+
10
+ def self.item(name)
11
+ case name
12
+ when /^S[-_]?Cute\s*(\d{3}[-_]\w+[-_]\d{2})$/i, /^S[-_]?Cute\s*((ps\d|swm)[-_]\d{2}[-_]\w+)$/i
13
+ get("/contents/#{$1}/")
14
+ end
15
+ end
16
+ end
17
+
18
+ module Parser
19
+ def self.parse(content)
20
+ page_uri = content.request.last_uri
21
+ html = Nokogiri::HTML(content)
22
+ specs = html.xpath('//*[@class="detail"]/article/p[2]').text.split('|')
23
+ return {
24
+ code: 'S-Cute ' + page_uri.to_s.split('/').last,
25
+ cover_image: html.at_css('#movie > div > div > div > a > img')['src'],
26
+ description: html.css('//*[@class="detail"]/article/p[4]').text,
27
+ maker: 'S-Cute',
28
+ movie_length: specs[1],
29
+ page: page_uri.to_s,
30
+ release_date: specs[0],
31
+ sample_images: html.css('#grid-gallery > div.item > div > a').map { |a| a['href'] },
32
+ thumbnail_image: html.at_css('div.cast > a > img')['src'],
33
+ title: html.css('div.detail > article > h3').text,
34
+ }
35
+ end
36
+ end
37
+ end
38
+ end
39
+ end
@@ -27,6 +27,7 @@ module OpenDMM
27
27
  directors: specs['監督'].split,
28
28
  genres: specs['ジャンル'].split,
29
29
  label: specs['レーベル'],
30
+ maker: '溜池ゴロー',
30
31
  page: page_uri.to_s,
31
32
  release_date: specs['発売日'].remove('DVD/'),
32
33
  sample_images: html.css('#sample-pic > a > img').map { |img| img['src'].gsub(/js(?=-\d+\.jpg)/, 'jp') },
@@ -24,6 +24,7 @@ module OpenDMM
24
24
  cover_image: html.at_css('#main > div > div.main-detail > div.ttl-pac > a')['href'],
25
25
  description: html.xpath('//*[@id="main"]/div/div[@class="main-detail"]/div[@class="ttl-comment"]/div[not(@class)]').text,
26
26
  genres: specs['ジャンル:'].text,
27
+ maker: '変態紳士倶楽部',
27
28
  movie_length: specs['収録時間:'].text,
28
29
  page: page_uri.to_s,
29
30
  release_date: specs['発売日:'].text,
@@ -1,3 +1,3 @@
1
1
  module OpenDMM
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
@@ -17,7 +17,7 @@ class FixtureTest < Minitest::Test
17
17
  end
18
18
 
19
19
  def assert_has_basic_keys(product)
20
- %i(code title thumbnail_image cover_image page).each do |key|
20
+ %i(code cover_image maker page thumbnail_image title).each do |key|
21
21
  assert product[key], "Key #{key} should not be absent"
22
22
  end
23
23
  end
@@ -9,6 +9,7 @@
9
9
  "directors": [
10
10
  "武井寅泰"
11
11
  ],
12
+ "maker": "アンナと花子",
12
13
  "movie_length": 7200,
13
14
  "page": "http://anna-and-hanako.jp/works/annd/annd066.html",
14
15
  "release_date": "2010-08-19",
@@ -17,7 +17,7 @@
17
17
  "女子校生",
18
18
  "ハメ撮り"
19
19
  ],
20
- "maker": "Apache Project",
20
+ "maker": "Aurora Project",
21
21
  "movie_length": 6540,
22
22
  "page": "http://www.aurora-pro.com/shop/-/product/p/goods_id=APAA-182",
23
23
  "release_date": "2012-11-13",
@@ -18,7 +18,7 @@
18
18
  "凌辱",
19
19
  "第三者撮り"
20
20
  ],
21
- "maker": "Apache Project",
21
+ "maker": "Aurora Project",
22
22
  "movie_length": 8340,
23
23
  "page": "http://www.aurora-pro.com/shop/-/product/p/goods_id=APAK-051",
24
24
  "release_date": "2012-12-25",
@@ -12,6 +12,7 @@
12
12
  "ごっくん",
13
13
  "痴女"
14
14
  ],
15
+ "maker": "美",
15
16
  "movie_length": 7200,
16
17
  "page": "http://bi-av.com/works/bbi/bbi104.html",
17
18
  "release_date": "2010-04-25",
@@ -14,6 +14,7 @@
14
14
  "痴女"
15
15
  ],
16
16
  "label": "美ッ痴",
17
+ "maker": "美",
17
18
  "movie_length": 7200,
18
19
  "page": "http://bi-av.com/works/beb/beb001.html",
19
20
  "release_date": "2010-12-25",
@@ -11,6 +11,7 @@
11
11
  "genres": [
12
12
  "家庭教師"
13
13
  ],
14
+ "maker": "BeFree",
14
15
  "movie_length": 7200,
15
16
  "page": "http://befreebe.com/works/bf/bf175.html",
16
17
  "release_date": "2012-02-07",
@@ -19,6 +19,7 @@
19
19
  "共演"
20
20
  ],
21
21
  "label": "DELUXE",
22
+ "maker": "美",
22
23
  "movie_length": 7200,
23
24
  "page": "http://bi-av.com/works/bid/bid017.html",
24
25
  "release_date": "2010-10-25",
@@ -5,6 +5,7 @@
5
5
  "code": "BIJN-006",
6
6
  "cover_image": "http://bijin-majo-av.com/images/works/bijn/bijn006/bijn006pl.jpg",
7
7
  "description": "タイトなミニスカートに黒いパンストがセクシーなりささんは、モード系の美人妻です。エロにのめり込むとどんどん淫乱に変貌!オナニーになるとすっかり快楽の虜になり!ローターから始まり、極太バイブもズッポリ咥えた下のお口は、手を放してもバイブを咥えたまま落としません。シマリの良いヴァギナで男のモノを食べつくし、セックスを堪能するりささんの乱れる姿をたっぷりとお楽しみください。",
8
+ "maker": "美人魔女",
8
9
  "movie_length": 6300,
9
10
  "page": "http://bijin-majo-av.com/works/bijn/bijn006.html",
10
11
  "release_date": "2014-01-13",
@@ -11,6 +11,7 @@
11
11
  "巨乳"
12
12
  ],
13
13
  "label": "kira☆kira BLACK GAL",
14
+ "maker": "Kira☆Kira",
14
15
  "movie_length": 7200,
15
16
  "page": "http://kirakira-av.com/works/-/detail/=/cid=blk049",
16
17
  "release_date": "2011-09-19",
@@ -10,6 +10,7 @@
10
10
  "魯山神"
11
11
  ],
12
12
  "label": "接吻とレズと乱交",
13
+ "maker": "美",
13
14
  "movie_length": 7200,
14
15
  "page": "http://bi-av.com/works/bwb/bwb005.html",
15
16
  "release_date": "2011-10-25",
@@ -2,6 +2,7 @@
2
2
  "code": "CLUB-003",
3
3
  "cover_image": "http://to-satsu.com/images/works/club003/club003pl.jpg",
4
4
  "description": "優雅で清楚な人妻が集う南青山の某高級マッサージ店。顧客満足度が高いセレブ妻を魅了するハイソサエティーなおもてなしは特別なオイルを使用した経路リンパマッサージ。エレガントな人妻は量より質を選び、施術師の紳士的かつ変態的なマッサージで声を押し殺しアソコを濡らし成熟した敏感なカラダが素直に反応する!",
5
+ "maker": "変態紳士倶楽部",
5
6
  "movie_length": 13800,
6
7
  "page": "http://to-satsu.com/works/club/club003/club003.html",
7
8
  "release_date": "2012-09-01",