modify scripts
This commit is contained in:
132
javdb/get_javdb.py
Normal file
132
javdb/get_javdb.py
Normal file
@ -0,0 +1,132 @@
|
||||
"""
|
||||
Script Name:
|
||||
Description: 获取 javdb 数据, prompt:
|
||||
我们需要访问 https://javdb.com/search?f=all&page={p}&q={str} 这个地址,并返回数据,以下是需求详细描述:
|
||||
q 参数,我们有一个数组,分别是 qlist = ['MKBD', 'LAFBD', 'S2MBD', 'SKYHD', 'SMBD', 'CWPBD', 'DRGBD', 'DSAMBD']
|
||||
p 参数,是要访问的页码,它通常从1开始。
|
||||
|
||||
我们循环遍历 qlist,对每一个值,从 p=1 开始,组成一个访问的 URL, 获取该 URL 的内容,它是一个页面;
|
||||
对页面内容,循环读取每一行,进行查找:
|
||||
如果能匹配 <div class="video-title"><strong>SHIIKU-001</strong> 性奴●飼育マニュアル THE MOVIE</div> 这个格式,那么我们把其中标签修饰的两段文本找出来,分别记为 str1 和str2,然后输出 str1__str2 这样的格式;如果格式不匹配,则不输出;
|
||||
如果匹配 <div class="meta">这个格式,那么读取它的下一行,去掉空格与tab符号之后,会剩下一个日期字符串,把这个字符串记为 pubdate;
|
||||
我们会得到 str1__pubdate__str2 这样的文本,把它保存到一个变量 res 中;
|
||||
继续遍历页面,如果找到匹配 <a rel="next" class="pagination-next" href="/search?f=all&page=5&q=SMBD">下一頁</a> 格式的一行,说明还有下一页,把其中的 page=5 的数字提取出来,修改上面的 URL,填入新的 p值,继续访问;如果无法匹配,那就代表着结束,我们把 res 输出到一个文件中,它命名为 {q}_all.txt
|
||||
|
||||
请你理解上述需求,并写出对应的python代码。
|
||||
|
||||
Author: [Your Name]
|
||||
Created Date: YYYY-MM-DD
|
||||
Last Modified: YYYY-MM-DD
|
||||
Version: 1.0
|
||||
|
||||
|
||||
Modification History:
|
||||
- YYYY-MM-DD [Your Name]:
|
||||
- YYYY-MM-DD [Your Name]:
|
||||
- YYYY-MM-DD [Your Name]:
|
||||
"""
|
||||
|
||||
import requests
|
||||
#from bs4 import BeautifulSoup
|
||||
import re
|
||||
import time
|
||||
|
||||
# 参数定义
|
||||
qlist = ['MKBD', 'LAFBD', 'S2MBD', 'SKYHD', 'SMBD', 'CWPBD', 'DRGBD', 'DSAMBD']
|
||||
base_url = "https://javdb.com/search?f=all&page={}&q={}"
|
||||
|
||||
# 临时跑数据
|
||||
qlist = ['SMBD', 'CWPBD', 'DRGBD', 'DSAMBD']
|
||||
|
||||
# 正则表达式匹配模式
|
||||
title_pattern = r'<div class="video-title"><strong>(.*?)</strong>\s*(.*?)</div>'
|
||||
meta_pattern = r'<div class="meta">'
|
||||
next_page_pattern = r'<a rel="next" class="pagination-next" href=".*?page=(\d+)&q='
|
||||
|
||||
def get_page_content(url):
|
||||
"""发送请求并获取页面内容"""
|
||||
response = requests.get(url)
|
||||
if response.status_code == 200:
|
||||
return response.text
|
||||
else:
|
||||
print(f"请求失败,状态码:{response.status_code}")
|
||||
return None
|
||||
|
||||
def parse_page(content):
|
||||
"""解析页面内容,提取标题、日期和下一页信息"""
|
||||
#soup = BeautifulSoup(content, 'html.parser')
|
||||
res = []
|
||||
next_page = None
|
||||
|
||||
lines = content.split('\n') # 将页面按行分割
|
||||
str1, str2, pubdate = None, None, None
|
||||
meta_found = False
|
||||
|
||||
for idx, line in enumerate(lines):
|
||||
# 尝试匹配标题
|
||||
title_match = re.search(title_pattern, line)
|
||||
if title_match:
|
||||
str1 = title_match.group(1).strip()
|
||||
str2 = title_match.group(2).strip()
|
||||
|
||||
# 尝试匹配 <div class="meta">
|
||||
if re.search(meta_pattern, line):
|
||||
meta_found = True
|
||||
continue
|
||||
|
||||
# 如果上一行是 <div class="meta">,则处理下一行的日期
|
||||
if meta_found:
|
||||
pubdate = line.strip()
|
||||
meta_found = False
|
||||
|
||||
# 如果标题和日期都匹配到了,存储结果
|
||||
if str1 and str2 and pubdate:
|
||||
res.append(f"{str1}__{pubdate}__{str2}")
|
||||
str1, str2, pubdate = None, None, None
|
||||
|
||||
# 尝试匹配下一页链接
|
||||
next_page_match = re.search(next_page_pattern, line)
|
||||
if next_page_match:
|
||||
next_page = next_page_match.group(1)
|
||||
|
||||
return res, next_page
|
||||
|
||||
def scrape_videos_for_q(q):
|
||||
"""对指定的q参数进行抓取"""
|
||||
p = 1
|
||||
res = []
|
||||
while True:
|
||||
# 构建 URL
|
||||
url = base_url.format(p, q)
|
||||
print(f"正在访问:{url}")
|
||||
page_content = get_page_content(url)
|
||||
|
||||
if page_content:
|
||||
# 解析页面内容
|
||||
results, next_page = parse_page(page_content)
|
||||
res.extend(results)
|
||||
|
||||
# 如果有下一页,继续,否则结束
|
||||
if next_page:
|
||||
p = int(next_page)
|
||||
time.sleep(5) # 避免请求过快
|
||||
else:
|
||||
break
|
||||
else:
|
||||
print(f"未能获取页面内容,跳过 q={q} 的处理")
|
||||
break
|
||||
|
||||
# 将结果保存到文件中
|
||||
if res:
|
||||
output_filename = f"./javdb/{q}_all.txt"
|
||||
with open(output_filename, 'w', encoding='utf-8') as f:
|
||||
f.write("\n".join(res))
|
||||
print(f"已保存结果到 {output_filename}")
|
||||
|
||||
def main():
|
||||
"""主函数"""
|
||||
for q in qlist:
|
||||
scrape_videos_for_q(q)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
161
javdb/javdb_tmp/CWPBD_all.txt
Normal file
161
javdb/javdb_tmp/CWPBD_all.txt
Normal file
@ -0,0 +1,161 @@
|
||||
CWPBD-57__2023-10-01__キャットウォーク ポイズン 57 : 前田陽菜
|
||||
CWPBD-15__2023-09-15__CATWALK POISON 15 : LUNA
|
||||
CWPBD-42__2023-09-15__キャットウォーク ポイズン 42 : 愛内梨花
|
||||
CWPBD-12__2023-09-15__キャットウォーク ポイズン 12 : 黒澤愛希
|
||||
CWPBD-38__2023-09-15__キャットウォーク ポイズン 38 : 倉木みお
|
||||
CWPBD-168__2017-12-26__キャットウォーク ポイズン 168 巨乳家政婦 : 華音
|
||||
CWPBD-167__2017-11-23__キャットウォーク ポイズン 167 可愛すぎる幼馴染の誘惑 : 神田るな
|
||||
CWPBD-166__2017-11-01__キャットウォーク ポイズン 166 DEBUT : 立花瑠莉
|
||||
CWPBD-165__2017-09-20__キャットウォーク ポイズン 165 「極射」 : 生島涼
|
||||
CWPBD-164__2017-07-21__キャットウォーク ポイズン 164 超高級ソープ嬢を癒してあげよう! : 深美せりな
|
||||
CWPBD-163__2017-06-29__キャットウォーク ポイズン 163 超高級ソープ嬢を癒してあげよう! : 生島涼
|
||||
CWPBD-162__2017-06-12__キャットウォーク ポイズン 162 制服JKとの激しい性交 : 希咲良
|
||||
CWPBD-161__2017-05-10__キャットウォーク ポイズン 161 絶対にイッてはいけない寸止めセックス24時 : 七瀬リナ
|
||||
CWPBD-160__2017-05-09__キャットウォーク ポイズン 160 スケスケ水着 X くびれボイン : 白石真琴
|
||||
CWPBD-159__2017-04-28__キャットウォーク ポイズン 159 DEBUT : 華城まや
|
||||
CWPBD-158__2017-04-24__キャットウォーク ポイズン 158 放課後に、仕込んでください : ももき希
|
||||
CWPBD-157__2017-04-06__キャットウォーク ポイズン 157 共有少女 ~あなた達の搾りたてザーメン頂きます!~ : ゆうき美羽
|
||||
CWPBD-156__2017-03-20__キャットウォーク ポイズン 156 DEBUT : 白石真琴
|
||||
CWPBD-155__2017-02-08__キャットウォーク ポイズン 155 素顔のモデル : ももき希
|
||||
CWPBD-154__2017-01-27__キャットウォーク ポイズン 154 無修正はじめました : 桃井りの
|
||||
CWPBD-153__2017-01-17__キャットウォーク ポイズン 153 働く美尻の葵さん : 葵千恵
|
||||
CWPBD-152__2017-01-07__キャットウォーク ポイズン 152 無敵の無修正GIRL : 丘咲エミリ
|
||||
CWPBD-151__2016-12-16__キャットウォーク ポイズン 151 無修正はじめました : 愛乃まほろ
|
||||
CWPBD-149__2016-11-14__キャットウォーク ポイズン 149 初撮り人妻 : 相本みき
|
||||
CWPBD-148__2016-11-11__キャットウォーク ポイズン 148 ヤリたい放題。 : 西川ゆい
|
||||
CWPBD-147__2016-08-11__キャットウォーク ポイズン 147 水谷心音 無修正解禁 : 水谷心音
|
||||
CWPBD-146__2016-06-30__キャットウォーク ポイズン 146 無修正はじめました : 原千草
|
||||
CWPBD-145__2016-06-14__キャットウォーク ポイズン 145 ノースキン中出しソープ嬢 : あかね杏珠
|
||||
CWPBD-144__2016-06-02__キャットウォーク ポイズン 144 みほのファイナル : みほの
|
||||
CWPBD-143__2016-05-26__キャットウォーク ポイズン 143 はじめての無修正は・・・彼女目線と下から目線。 : 西川ゆい
|
||||
CWPBD-142__2016-04-19__キャットウォーク ポイズン 142 【ファン感謝祭】おねだり精子パラダイス♥ : みほの
|
||||
CWPBD-141__2016-02-04__キャットウォーク ポイズン 141 【元グラドル】ジャポルノ解禁 : 越川アメリ
|
||||
CWPBD-140__2016-01-01__キャットウォーク ポイズン 140 【極上グラマラス】ジャポルノ解禁 : 篠田あゆみ
|
||||
CWPBD-139__2015-12-21__キャットウォーク ポイズン 139 【ライブアイドル!】ジャポルノ解禁 : 絢森いちか
|
||||
CWPBD-137__2015-12-17__キャットウォーク ポイズン 137 【美白柔肌のお嬢様】ジャポルノ中出し解禁 : 有賀ゆあ
|
||||
CWPBD-138__2015-12-07__キャットウォーク ポイズン 138 【極上艶女】ねっとりとしたやらしいセックス : 波多野結衣
|
||||
CWPBD-136__2015-11-02__キャットウォーク ポイズン 136 【元ファッション誌専属モデル】ジャポルノ解禁 : 水樹りさ
|
||||
CWPBD-135__2015-10-22__キャットウォーク ポイズン 135 【拘束美女陵辱】汁まみれナマ姦フルコース : 松本メイ
|
||||
CWPBD-134__2015-10-21__キャットウォーク ポイズン 134 【激イキッ!】超絶フェロモンボディの彼女 : 星野千紗
|
||||
CWPBD-133__2015-09-15__キャットウォーク ポイズン 133【淫乱欲情妻】ジャポルノ降臨 : 三上里穂
|
||||
CWPBD-132__2015-09-14__キャットウォーク ポイズン 132 【ムッチリ癒し系美少女】ジャポルノデビュー : 翼みさき
|
||||
CWPBD-130__2015-08-24__キャットウォーク ポイズン 130 【ミスキャンパス娘】ジャポルノ中出しデビュー : 神尾舞
|
||||
CWPBD-129__2015-08-17__キャットウォーク ポイズン 129 【極上美痴女】イキまくり、ハメまくり!楽園SEX!! : 新山沙弥
|
||||
CWPBD-131__2015-08-07__キャットウォーク ポイズン 131 【純白美肌のエロお嬢様】初ジャポルノ連続中出し : 酒井ももか (ブルーレイ版)
|
||||
CWPBD-128__2015-08-06__キャットウォーク ポイズン 128 【ミスコン美女】ジャポルノ中出しデビュー : 宮崎愛莉
|
||||
CWPBD-127__2015-07-20__キャットウォーク ポイズン 127 【高偏差値美少女】ジャポルノ中出し : 清水理紗
|
||||
CWPBD-126__2015-07-08__キャットウォーク ポイズン 126 【ハイスペック美女】ジャポルノ電撃降臨 : 立花美涼
|
||||
CWPBD-125__2015-06-24__キャットウォーク ポイズン 125 「ねこ系女子の可愛い彼女」即ハメ中出し降臨 : 真野ゆりあ
|
||||
CWPBD-124__2015-06-05__キャットウォーク ポイズン 124 クビレ美巨乳のパイパン娘、ジャポルノ中出し降臨 : 星野千紗
|
||||
CWPBD-123__2015-05-04__キャットウォーク ポイズン 123 なまイキ! : 佐伯ゆきな
|
||||
CWPBD-122__2015-04-13__キャットウォーク ポイズン 122 初撮り 人妻降臨 : 小鳥遊つばさ
|
||||
CWPBD-121__2015-03-26__キャットウォーク ポイズン 121 麻布十番 人妻白書 : 保坂えり
|
||||
CWPBD-120__2015-03-10__キャットウォーク ポイズン 120 ついに!! 引退 : 大橋未久
|
||||
CWPBD-119__2015-02-16__キャットウォーク ポイズン 119 Debut 無修正解禁 : 瀬奈まお
|
||||
CWPBD-118__2015-02-09__キャットウォーク ポイズン 118 僕とキミのAdagio : 綾瀬なるみ
|
||||
CWPBD-117__2015-02-06__キャットウォーク ポイズン 117 パコパコ温泉中出しどうでしょう : 川村まや
|
||||
CWPBD-116__2014-12-29__キャットウォーク ポイズン 116 Ray 降臨 : Ray
|
||||
CWPBD-114__2014-12-12__キャットウォーク ポイズン 114 ももいろ天使の中出し降臨♥ : 杏奈りか
|
||||
CWPBD-115__2014-12-12__キャットウォーク ポイズン 115 スレンダーお嬢様の中出し降臨♡ : 前田かおり
|
||||
CWPBD-113__2014-12-02__キャットウォーク ポイズン 113 誘惑 -隣のミニマムお姉さん- : 桜ゆい
|
||||
CWPBD-111__2014-10-21__キャットウォーク ポイズン 111 自宅でしようよ♥ : 川田みり
|
||||
CWPBD-110__2014-10-13__キャットウォーク ポイズン 110 20歳の超高級サービス : 井上英李
|
||||
CWPBD-109__2014-09-25__キャットウォーク ポイズン 109 野外で中出しHしようよ♡ : 阿久美々
|
||||
CWPBD-112__2014-09-11__キャットウォーク ポイズン 112 中出し降臨 解放された性欲 : 赤井美月
|
||||
CWPBD-108__2014-09-03__キャットウォーク ポイズン 108 マンチラ巨乳女子○生 : 永瀬里美
|
||||
CWPBD-107__2014-08-12__キャットウォーク ポイズン 107 性感VIP : 市来美保
|
||||
CWPBD-106__2014-08-06__キャットウォーク ポイズン 106 濡れヌルお姉さん : 百合川さら
|
||||
CWPBD-105__2014-07-02__キャットウォーク ポイズン 105 無防備ノーブラのスケパイお姉さん♥ : 水城奈緒
|
||||
CWPBD-104__2014-06-03__キャットウォーク ポイズン 104 やはり僕の妹がスケベ過ぎる!! : 佳苗るか
|
||||
CWPBD-102__2014-05-07__キャットウォーク ポイズン 102 野外で中出しドキドキ!露出デート♥ : 立花さや
|
||||
CWPBD-101__2014-04-21__キャットウォーク ポイズン 101 カワイイ笑顔娘生イカセ!! : 尾上若葉
|
||||
CWPBD-99__2014-04-17__キャットウォーク ポイズン 99 妹のお尻が神すぎるので掴んで中出ししちゃいました。 : 篠田ゆう
|
||||
CWPBD-100__2014-04-14__キャットウォーク ポイズン 100 西川りおんのHな肉感 : 西川りおん
|
||||
CWPBD-98__2014-02-28__キャットウォーク ポイズン 98 アンナの中・出・し同棲日記 : 安城アンナ
|
||||
CWPBD-097__2014-02-06__キャットウォーク ポイズン 97 中出しエステ : 篠原優
|
||||
CWPBD-96__2014-01-23__キャットウォーク ポイズン 96 母乳 : あいださくら
|
||||
CWPBD-95__2014-01-07__キャットウォーク ポイズン 95 豪快潮吹きと初生中出し!! : 黒川ゆら
|
||||
CWPBD-94__2014-01-01__キャットウォーク ポイズン 94 美少女初生中 : 百田ゆきな
|
||||
CWPBD-93__2013-12-18__キャットウォーク ポイズン 93 カウガール・Tバック : 若槻シェルビー
|
||||
CWPBD-92__2013-12-13__キャットウォーク ポイズン 92 僕と姉。 : 小早川怜子
|
||||
CWPBD-91__2013-11-22__キャットウォーク キャットウォーク ポイズン 91 中出しビーチ大乱交 : 彩夏, 一ノ瀬るか, 愛乃なみ, 総勢7名
|
||||
CWPBD-90__2013-11-07__キャットウォーク ポイズン 90 PRIVATE 中出しセックス : 音羽レオン
|
||||
CWPBD-89__2013-10-15__キャットウォーク ポイズン 89 くっきり丸見え!! パイパン中出し : 美咲ひな
|
||||
CWPBD-88__2013-10-03__キャットウォーク ポイズン 88 美人若女将の本中痴宴 : 愛咲れいら
|
||||
CWPBD-55__2013-10-01__キャットウォーク ポイズン 55 : 矢吹杏
|
||||
CWPBD-87__2013-08-30__キャットウォーク ポイズン 87 貴方にご奉仕 : 西園寺れお
|
||||
CWPBD-086__2013-08-16__キャットウォーク ポイズン 86 神の乳 x 陵辱 : 滝川ソフィア
|
||||
CWPBD-85__2013-08-09__キャットウォーク ポイズン 85 水原めいのSEXライフ中出し解禁 : 水原めい
|
||||
CWPBD-58__2013-08-08__キャットウォーク ポイズン 58 : 綾瀬ティアラ
|
||||
CWPBD-51__2013-07-23__キャットウォーク ポイズン 51 : 綾瀬ティアラ
|
||||
CWPBD-84__2013-06-20__キャットウォーク ポイズン 84 ~初々しい現役女子大生の初中出しデビュー~ : 石原あゆむ
|
||||
CWPBD-22__2013-06-11__キャットウォーク ポイズン 22 : 花井メイサ
|
||||
CWPBD-83__2013-06-11__キャットウォーク ポイズン 83 ~肉感!! 中出しSEX~ : 新山かえで
|
||||
CWPBD-82__2013-06-06__キャットウォーク ポイズン 82 ~密着度120%の濃厚な中出しSEX~ : みづなれい
|
||||
CWPBD-09__2013-05-23__キャットウォーク ポイズン 09 : きこうでんみさ
|
||||
CWPBD-08__2013-05-23__キャットウォーク ポイズン 08 : 橘ゆめみ
|
||||
CWPBD-81__2013-05-03__キャットウォーク ポイズン 81 ~可愛いお姉さんの中出し尽くし~ : 小橋咲 (HD)
|
||||
CWPBD-60__2013-04-30__キャットウォーク ポイズン 60 : 優木まみ
|
||||
CWPBD-53__2013-04-29__キャットウォーク ポイズン 53 : 片桐えりりか
|
||||
CWPBD-80__2013-04-18__キャットウォーク ポイズン 80 ~湯ったりしっぽり中出し旅行~ : 沖ひとみ (HD)
|
||||
CWPBD-64__2013-02-28__キャットウォーク ポイズン 64 : かすみゆら (HD)
|
||||
CWPBD-59__2013-02-28__キャットウォーク ポイズン 59 : 杏樹紗奈 (HD)
|
||||
CWPBD-79__2013-02-20__キャットウォーク ポイズン 79 ~とっておきの僕らのペットは中出し・お漏らし@美少女~ : 上原結衣 (HD)
|
||||
CWPBD-78__2013-02-14__キャットウォーク ポイズン 78 春日由衣のJAPORN初降臨 徹底イカセで中出し本番 : 春日由衣 (HD)
|
||||
CWPBD-77__2013-01-17__キャットウォーク ポイズン 77 ~JAPORN初生中、本能SEX~ : 水菜ユイ (HD)
|
||||
CWPBD-39__2013-01-16__キャットウォーク ポイズン 39 : 吉永なつき (HD)
|
||||
CWPBD-76__2013-01-15__キャットウォーク ポイズン 76 ~芸能人と接吻とフェラチオとセックスと~ : 麻生めい (HD)
|
||||
CWPBD-75__2012-12-20__キャットウォーク ポイズン 75 ~美淑女の初撮り~ : 北島玲 (HD)
|
||||
CWPBD-50__2012-12-14__キャットウォーク ポイズン 50 - ギャルセックス: AIKA (HD)
|
||||
CWPBD-47__2012-12-06__キャットウォーク ポイズン 47 : 沖田はづき (HD)
|
||||
CWPBD-45__2012-12-04__キャットウォーク ポイズン 45 : あいりみく (HD)
|
||||
CWPBD-46__2012-11-21__キャットウォーク ポイズン 46 : 一ノ瀬アメリ (HD)
|
||||
CWPBD-48__2012-11-21__キャットウォーク ポイズン 48 : 橘ひなた (HD)
|
||||
CWPBD-74__2012-11-21__キャットウォーク ポイズン 74 ~ひたすら求める生中本能SEX~ : 優希まこと (HD)
|
||||
CWPBD-44__2012-11-16__キャットウォーク ポイズン 44 : 黒木アリサ (HD)
|
||||
CWPBD-43__2012-11-14__キャットウォーク ポイズン 43 : 橘ひなた (HD)
|
||||
CWPBD-41__2012-11-09__キャットウォーク ポイズン 41 : 愛原つばさ (HD)
|
||||
CWPBD-40__2012-11-09__キャットウォーク ポイズン 40 : ももかりん (HD)
|
||||
CWPBD-52__2012-11-05__キャットウォーク ポイズン 52 : 小日向みく (HD)
|
||||
CWPBD-32__2012-11-05__キャットウォーク ポイズン 32 : 星崎アンリ (HD)
|
||||
CWPBD-34__2012-11-02__キャットウォーク ポイズン 34 : 千晴 (三橋ひより) (HD)
|
||||
CWPBD-36__2012-11-02__キャットウォーク ポイズン 36 : 葵ぶるま (HD)
|
||||
CWPBD-31__2012-10-31__キャットウォーク ポイズン 31 : かなみ芽梨 (HD)
|
||||
CWPBD-29__2012-10-30__キャットウォーク ポイズン 29 : 星崎アンリ (HD)
|
||||
CWPBD-01__2012-10-29__キャットウォーク ポイズン 01 : きこうでんみさ (HD)
|
||||
CWPBD-73__2012-10-11__キャットウォーク ポイズン 73 ~降臨~ : まりか (HD)
|
||||
CWPBD-72__2012-10-09__キャットウォーク ポイズン 72 ~絶対快感~ : 水沢杏香 (HD)
|
||||
CWPBD-71__2012-10-03__キャットウォーク ポイズン 71 ~中出し大乱交SP~ : 菜々瀬ゆい, 前田陽菜, 真木今日子, 他計6名 (HD)
|
||||
CWPBD-70__2012-09-27__キャットウォーク ポイズン 70 ~長身痴体~ : 青山沙希 (HD)
|
||||
CWPBD-69__2012-09-20__キャットウォーク ポイズン 69 ~マゾ乳生姦~ : 小沢アリス (HD)
|
||||
CWPBD-68__2012-08-31__キャットウォーク ポイズン 68 : Maika (MEW) (HD)
|
||||
CWPBD-67__2012-08-20__キャットウォーク ポイズン 67 海の潮: 前田陽菜 (HD)
|
||||
CWPBD-66__2012-08-08__キャットウォーク ポイズン 66 : 永沢まおみ (HD)
|
||||
CWPBD-65__2012-08-06__キャットウォーク ポイズン 65 : 京野ななか (HD)
|
||||
CWPBD-56__2012-08-02__キャットウォーク ポイズン 56 : 赤西涼 (HD)
|
||||
CWPBD-63__2012-08-02__キャットウォーク ポイズン 63 : 愛原エレナ (HD)
|
||||
CWPBD-62__2012-07-31__キャットウォーク ポイズン 62 : 西山希 (HD)
|
||||
CWPBD-61__2012-07-31__キャットウォーク ポイズン 61 : 遥めぐみ (HD)
|
||||
CWPBD-54__2012-07-31__キャットウォーク ポイズン 54 : 藤北彩香 (HD)
|
||||
CWPBD-49__2011-09-22__キャットウォーク ポイズン 49 : 長澤あずさ : Part.1 (HD)
|
||||
CWPBD-37__2011-01-27__キャットウォーク ポイズン 37 : 羽月希 : Part.1 (HD)
|
||||
CWPBD-30__2010-11-22__キャットウォーク ポイズン 30 : 美咲結衣 : Part.1 (HD)
|
||||
CWPBD-16__2009-12-22__キャットウォーク ポイズン 16 : Part-1 (HD)
|
||||
CWPBD-57-1__2012-01-11__キャットウォーク ポイズン 57 : 前田陽菜 Part.1 (HD)
|
||||
CWPBD-35-1__2011-01-24__キャットウォーク ポイズン 35 : 青木莉子 : Part.1 (HD)
|
||||
CWPBD-33-1__2010-12-08__キャットウォーク ポイズン 33 : 小向まな美 : Part.1 (HD)
|
||||
CWPBD-28-1__2010-11-01__キャットウォーク ポイズン 28 : 柳田やよい : Part.1 (HD)
|
||||
CWPBD-25-1__2010-08-05__キャットウォーク ポイズン 25 : Part.1 (HD)
|
||||
CWPBD-24-1__2010-06-22__キャットウォーク ポイズン 24 : Part.1 (HD)
|
||||
CWPBD-21-1__2010-04-01__キャットウォーク ポイズン 21 : Part.1 (HD)
|
||||
CWPBD-20-1__2010-03-11__キャットウォーク ポイズン 20 : Part-1 (HD)
|
||||
CWPBD-18-1__2010-02-03__キャットウォーク ポイズン 18 : Part-1 (HD)
|
||||
CWPBD-17-1__2009-12-22__キャットウォーク ポイズン 17 : Part-1 (HD)
|
||||
CWPBD-14-1__2009-10-22__キャットウォーク ポイズン 14 : Part-I (HD)
|
||||
CWPBD-13-1__2009-10-19__キャットウォーク ポイズン 13 : Part-I (HD)
|
||||
CWPBD-07-1__2009-10-09__キャットウォーク ポイズン 07 : Part-I (HD)
|
||||
CWPBD-06-1__2009-10-08__キャットウォーク ポイズン 06 : Part-I (HD)
|
||||
CWPBD-05-1__2009-09-30__キャットウォーク ポイズン 05 : Part-I (HD)
|
||||
CWPBD-11-1__2009-09-28__キャットウォーク ポイズン 11 : Part-I (HD)
|
||||
CWMBD-02__2012-08-10__キャットウォーク MJ 02 ~Splash 痴女バス~ : 来栖千夏 (HD)
|
||||
CWMBD-01__2012-08-03__キャットウォーク MJ 01 ~JK痴漢バス~ : 沙月由奈 (HD)
|
||||
23
javdb/javdb_tmp/DRGBD_all.txt
Normal file
23
javdb/javdb_tmp/DRGBD_all.txt
Normal file
@ -0,0 +1,23 @@
|
||||
DRGBD-21__2017-07-21__3rd Hard Way ~3つの試練~ : 朝桐光
|
||||
DRGBD-20__2017-06-15__快感に打ち震えながら何度もイキまくる巨乳美女 : 椎谷愛結
|
||||
DRGBD-19__2017-03-16__天然Hカップ 働きウーマン ~白衣の爆乳ナース~ : 折原ほのか
|
||||
DRGBD-18__2017-03-09__余裕で三連発できちゃう極上の女優 : 小泉まり
|
||||
DRGBD-17__2017-01-26__陵辱プライベートルーム : 小向美奈子
|
||||
DRGBD-16__2016-11-28__夏の想い出 : 羽田真里
|
||||
DRGBD-15__2016-11-11__ときめき 私だけムラムラさせないで : 北条麻妃
|
||||
DRGBD-14__2016-11-08__PRINCESS COLLECTION 高級ソープへようこそ : 青山未来
|
||||
DRGBD-13__2016-10-06__王道爆乳痴女 : 小向美奈子
|
||||
DRGBD-12__2016-08-25__視界侵入たちまち挿入 : 霧島さくら
|
||||
DRGBD-11__2015-05-12__着物の晴れ姿で潮吹き!!! : 舞咲みくに
|
||||
DRGBD-10__2014-12-02__遠隔操作で彼女とプチ露出散歩 : 山手栞
|
||||
DRGBD-09__2014-10-15__グラマラス : 舞咲みくに
|
||||
DRGBD-08__2014-07-22__CRB48 ファン感謝デー : 麻倉憂, 椎名ひかる
|
||||
DRGBD-07__2014-06-23__AVプロダクション対抗!チキチキ海釣り大会 : 楓乃々花, 桜瀬奈
|
||||
DRGBD-06__2014-05-14__M字開脚抜きフェラ マイクロビキニ生中出し : 麻倉憂
|
||||
DRGBD-05__2014-04-07__それが全裸de登校日 : 椎名ひかる, 黒崎セシル, 星崎亜那, 三沢明日香, 宮崎由麻, 大塚まゆ, 薫ひな
|
||||
DRGBD-04__2014-03-14__危険日なのに・・・中出しされちゃった : 麻倉憂
|
||||
DRGBD-03__2014-03-06__20名人気巨乳女優祭 : 松すみれ, 遥めぐみ, 長谷川なぁみ, 小峰ひなた, 総勢20名
|
||||
DRGBD-02__2013-02-07__「ねぇ、瞳とSEXしよ?」 : 北川瞳 (HD)
|
||||
DRGBD-01__2012-11-21__淫乱覚醒 : 北川瞳 (HD)
|
||||
DRCBD-01__2023-09-01__Premium : 望月るきあ, 葉山るい, 長谷川なぁみ, 草凪純, モカ, 彩名ゆい, 舞浜朱里, ミムラ佳奈, 永井あいこ, 大塚咲, 優木あおい, 桜庭ハル, 平瀬りょう, 天音まりあ, 愛葉
|
||||
DRCBD-02__2013-03-13__爆乳 Gカップ - 美少女の伝説、再び - : 小坂めぐる (HD)
|
||||
39
javdb/javdb_tmp/DSAMBD_all.txt
Normal file
39
javdb/javdb_tmp/DSAMBD_all.txt
Normal file
@ -0,0 +1,39 @@
|
||||
DSAMBD-20__2017-08-17__傷心旅行でセックスが大好きな男を見つけてやる : 深美せりな
|
||||
DSAMBD-19__2017-06-15__恍惚 ~止められないおねだり~ : 鈴木さとみ
|
||||
DSAMBD-18__2017-05-16__アイドル真里の性調教撮影会 : 羽田真里
|
||||
DSAMBD-17__2017-03-31__濃厚な接吻と肉体の交わり : 舞希香
|
||||
DSAMBD-16__2017-03-28__咲乃柑菜ファン感謝祭 ~子作りしたがる男たちのお宅訪問~ : 咲乃柑菜
|
||||
DSAMBD-15__2017-03-09__働きウーマン ~巨乳眼鏡OLのストレス発散セックス~ : 田代マリ
|
||||
DSAMBD-14__2017-01-26__Debut 踊りもAVも頑張りたいですッ : 観月奏
|
||||
DSAMBD-13__2016-11-25__ガチで交わる濃厚SEX : 小向美奈子
|
||||
DSAMBD-12__2016-11-10__放課後のリフレクソロジー : 水谷あおい
|
||||
DSAMBD-11__2016-11-03__中出し同棲生活 : 小向美奈子
|
||||
DSAMBD-10__2016-08-26__コスプレイヤー早乙女らぶ! : 目々澤めぐ
|
||||
DSAMBD-09__2015-11-23__完全服従契約 ~あなた目線で舞咲みくにをハメ倒せ~ : 舞咲みくに
|
||||
DSAMBD-08__2015-03-11__Model Collection 業界最上級のクビレ美巨乳美マン降臨 : 舞咲みくに
|
||||
DSAMBD-07__2014-11-18__所持金ゼロ!目指せ広島!神BODYヒッチハイク! : 山手栞
|
||||
DSAMBD-06__2014-10-16__白衣の天使が肉便器に -究極牝奴隷- : 成宮ルリ
|
||||
DSAMBD-05__2014-10-07__親友の彼女 : 本澤朋美
|
||||
DSAMBD-04__2014-09-24__一泊二射精夢の温泉旅行 : 小泉真希
|
||||
DSAMBD-03__2014-08-20__極上の美人 Debut : 舞咲みくに
|
||||
DSAMBD-02__2014-08-05__余裕で三連発できちゃう極上の女優 : 瀧澤まい
|
||||
DSAMBD-01__2014-06-16__ご奉仕メイド & こんなご主人様でも大好きなんです 綾見ひかる総集編 : 綾見ひかる
|
||||
DSAMD-20__2017-08-17__傷心旅行でセックスが大好きな男を見つけてやる : 深美せりな
|
||||
DSAMD-19__2017-06-15__恍惚 ~止められないおねだり~ : 鈴木さとみ
|
||||
DSAMD-18__2017-05-16__アイドル真里の性調教撮影会 : 羽田真里
|
||||
DSAMD-17__2017-03-31__濃厚な接吻と肉体の交わり : 舞希香
|
||||
DSAMD-16__2017-03-28__咲乃柑菜ファン感謝祭 ~子作りしたがる男たちのお宅訪問~ : 咲乃柑菜
|
||||
DSAMD-15__2017-03-09__働きウーマン ~巨乳眼鏡OLのストレス発散セックス~ : 田代マリ
|
||||
DSAMD-14__2017-01-26__Debut 踊りもAVも頑張りたいですッ : 観月奏
|
||||
DSAMD-13__2016-11-25__ガチで交わる濃厚SEX : 小向美奈子
|
||||
DSAMD-12__2016-11-10__放課後のリフレクソロジー : 水谷あおい
|
||||
DSAMD-11__2016-11-03__中出し同棲生活 : 小向美奈子
|
||||
DSAMD-10__2016-08-26__コスプレイヤー早乙女らぶ! : 目々澤めぐ
|
||||
DSAMD-09__2015-11-23__完全服従契約 ~あなた目線で舞咲みくにをハメ倒せ~ : 舞咲みくに
|
||||
DSAMD-08__2015-03-11__Model Collection 業界最上級のクビレ美巨乳美マン降臨 : 舞咲みくに
|
||||
DSAMD-07__2014-11-18__所持金ゼロ!目指せ広島!神BODYヒッチハイク! : 山手栞
|
||||
DSAMD-06__2014-10-16__白衣の天使が肉便器に -究極牝奴隷- : 成宮ルリ
|
||||
DSAMD-05__2014-10-07__親友の彼女 : 本澤朋美
|
||||
DSAMD-04__2014-09-24__一泊二射精夢の温泉旅行 : 小泉真希
|
||||
DSAMD-03__2014-08-20__極上の美人 Debut : 舞咲みくに
|
||||
DSAMD-02__2014-08-05__余裕で三連発できちゃう極上の女優 : 瀧澤まい
|
||||
87
javdb/javdb_tmp/LAFBD_all.txt
Normal file
87
javdb/javdb_tmp/LAFBD_all.txt
Normal file
@ -0,0 +1,87 @@
|
||||
LAFBD-88__2017-12-26__ラフォーレ ガール Vol.88 ヌルテカ痴女の体液まみれSEX : 立花瑠莉
|
||||
LAFBD-87__2017-10-27__ラフォーレ ガール Vol.87 ゴージャス系女優企画 : 白石真琴
|
||||
LAFBD-86__2017-07-21__ラフォーレ ガール Vol.86 JK女子高生の放課後 : 水島にな
|
||||
LAFBD-85__2017-06-12__ラフォーレ ガール Vol.85 OLスジッ娘倶楽部 : 七瀬リナ
|
||||
LAFBD-84__2017-05-26__ラフォーレ ガール Vol.84 制服JKと激しい性交 : さくらみゆき
|
||||
LAFBD-83__2017-05-11__ラフォーレ ガール Vol.83 巨乳が自慢の彼女がAVに出演してました : ゆうき美羽
|
||||
LAFBD-82__2017-04-04__ラフォーレ ガール Vol.82 人気爆発中4名の綺麗なお姉さんの膣内に濃厚真正生中出し!!3HRS : 水谷心音, 西川ゆい, 大橋未久, 大塚咲
|
||||
LAFBD-81__2017-01-09__ラフォーレ ガール Vol.81 逝くわ、逝くわのイキまくり!! : 葉月ゆか
|
||||
LAFBD-80__2016-12-29__ラフォーレ ガール Vol.80 巨乳メイド : 愛乃まほろ
|
||||
LAFBD-79__2016-12-20__ラフォーレ ガール Vol.79 OLスジッ娘倶楽部 : 美波ゆさ
|
||||
LAFBD-78__2016-12-02__ラフォーレ ガール Vol.78 ちんぽ大好き即尺制服JK : 加藤えま
|
||||
LAFBD-77__2016-10-13__ラフォーレ ガール Vol.77 野獣達の獲物 : 葵千恵
|
||||
LAFBD-76__2016-10-11__ラフォーレ ガール Vol.76 今夜、ご注文はどっち?! : 一条リオン, 成宮はるあ
|
||||
LAFBD-75__2016-08-16__ラフォーレ ガール Vol.75 本気すぎてエロすぎる濃厚中出し性交 : 西川ゆい
|
||||
LAFBD-74__2016-06-02__ラフォーレ ガール Vol.74 美痴女 : 篠田あゆみ
|
||||
LAFBD-73__2016-04-28__ラフォーレ ガール Vol.73 出張エステティシャン : 島崎結衣
|
||||
LAFBD-72__2016-04-05__ラフォーレ ガール Vol.72 もしこころが僕の彼女だったら : こころ
|
||||
LAFBD-71__2016-03-10__ラフォーレ ガール Vol.71 ローションまみれのドデカ巨乳激中出し : 杏
|
||||
LAFBD-70__2016-02-22__ラフォーレ ガール Vol.70 放課後Hなアルバイト : 牧村ひな
|
||||
LAFBD-69__2016-02-11__ラフォーレ ガール Vol.69 みほの完全復活!完全密着ドキュメント : みほの
|
||||
LAFBD-68__2016-02-01__ラフォーレ ガール Vol.68 拘束鬼イカセいいなり奴隷美少女 : 葉山友香
|
||||
LAFBD-67__2016-01-18__ラフォーレ ガール Vol.67 拘束絶頂アクメ鬼イカセ : 佐々木マリア
|
||||
LAFBD-66__2015-12-25__ラフォーレ ガール Vol.66 アノ娘の初体験を完全再現!! : 楓ゆうか
|
||||
LAFBD-65__2015-12-18__ラフォーレ ガール Vol.65 余裕で三連発できちゃう極上の女優 : 松本メイ
|
||||
LAFBD-64__2015-12-04__ラフォーレ ガール Vol.64 高級ソープへようこそ : 美神あや
|
||||
LAFBD-63__2015-11-30__ラフォーレ ガール Vol.63 鬼イカセ 性○隷へと堕ちていく・・・。 : 翼みさき
|
||||
LAFBD-62__2015-11-09__ラフォーレ ガール Vol.62 未亡人の柔肌 : 宮崎愛莉
|
||||
LAFBD-61__2015-10-23__ラフォーレ ガール Vol.61 シルバーウィークのカップル一泊デート : 大島ゆず奈
|
||||
LAFBD-60__2015-10-19__ラフォーレ ガール Vol.60 余裕で三連発できちゃう極上の女優 : 木村美羽
|
||||
LAFBD-59__2015-09-22__ラフォーレ ガール Vol.59 16名女優 中出しイカセメガ盛り 180mins : 愛沢かりん, 新山沙弥, 一之瀬すず, 総勢16名
|
||||
LAFBD-58__2015-09-21__ラフォーレ ガール Vol.58 「働きウーマン~インテリ女子大生の裏の顔~」 : 清水理紗
|
||||
LAFBD-57__2015-09-17__ラフォーレ ガール Vol.57 OLの尻に埋もれたい : 西条沙羅
|
||||
LAFBD-56__2015-08-31__ラフォーレ ガール Vol.56 拘束鬼イカセ絶頂アクメ : 波多野結衣
|
||||
LAFBD-55__2015-08-18__ラフォーレ ガール Vol.55 夏だ!海だ!水着でH!! : 宮下華奈
|
||||
LAFBD-54__2015-08-10__ラフォーレ ガール Vol.54 美女ギャル 本気の生セックス : 真野ゆりあ
|
||||
LAFBD-53__2015-07-21__ラフォーレ ガール Vol.53 いいなり奴隷妻 : 波多野結衣
|
||||
LAFBD-52__2015-07-06__ラフォーレ ガール Vol.52 集団痴漢を受け入れてしまう淫乱妻 : 中村奈菜
|
||||
LAFBD-51__2015-06-25__ラフォーレ ガール Vol.51 仕事ができるビッチな女上司に復讐 : 広瀬奈々美
|
||||
LAFBD-50__2015-06-23__ラフォーレ ガール Vol.50 幼馴染のくぱぁ : 海野空詩, 春山彩香
|
||||
LAFBD-49__2015-06-03__ラフォーレ ガール Vol.49 おもらし団地妻 公然失禁 : 小鳥遊つばさ
|
||||
LAFBD-47__2015-05-06__ラフォーレ ガール Vol.47 LAFORET GAL 12名 至福の3時間 : 大橋未久, 佳苗るか, 瀬奈まお, 総勢12名
|
||||
LAFBD-46__2015-04-27__ラフォーレ ガール Vol.46 放課後美少女ファイル : 前田さおり
|
||||
LAFBD-45__2015-04-06__ラフォーレ ガール Vol.45 アクメ依存症の女 : みづなれい
|
||||
LAFBD-44__2015-03-13__ラフォーレ ガール Vol.44 放課後美少女ファイル : 川村まや
|
||||
LAFBD-43__2015-03-09__ラフォーレ ガール Vol.43 美人崩壊 : 水野葵
|
||||
LAFBD-42__2015-03-02__ラフォーレ ガール Vol.42 肉感的なボディの美熟女ソープ : 水樹まや
|
||||
LAFBD-41__2015-02-10__ラフォーレ ガール Vol.41 天使と悪魔 : 大橋未久
|
||||
LAFBD-40__2015-01-21__ラフォーレ ガール Vol.40 人妻のAVドキュメント : 秋野千尋
|
||||
LAFBD-39__2015-01-19__ラフォーレ ガール Vol.39 感謝祭2014超豪華版ラフォーレガール16名 : 佳苗るか, 堀口真希, 安城アンナ, 立川理恵, 総勢16名
|
||||
LAFBD-38__2015-01-05__ラフォーレ ガール Vol.38 : 杏奈りか
|
||||
LAFBD-37__2014-12-22__ラフォーレ ガール Vol.37 : 黛里奈
|
||||
LAFBD-36__2014-12-08__ラフォーレ ガール Vol.36 年間売上ランキングTOP16 3時間 : 尾上若葉, 水城奈緒, 市来美保, 総勢16名
|
||||
LAFBD-35__2014-12-04__ラフォーレ ガール Vol.35 : 松永ちえり
|
||||
LAFBD-34__2014-12-02__ラフォーレ ガール Vol.34 : 川井まゆ
|
||||
LAFBD-33__2014-11-13__ラフォーレ ガール Vol.33 : 櫻木梨乃
|
||||
LAFBD-32__2014-10-14__ラフォーレ ガール Vol.32 : 春日野結衣
|
||||
LAFBD-31__2014-09-30__ラフォーレ ガール Vol.31 : 小宮涼菜
|
||||
LAFBD-30__2014-09-18__ラフォーレ ガール Vol.30 : 堀口真希
|
||||
LAFBD-29__2014-09-01__ラフォーレ ガール Vol.29 : 内村りな
|
||||
LAFBD-28__2014-08-26__ラフォーレ ガール Vol.28 : 中島京子
|
||||
LAFBD-27__2014-08-19__ラフォーレ ガール Vol.27 : 柏倉玲華
|
||||
LAFBD-26__2014-07-01__ラフォーレ ガール Vol.26 : 佳苗るか
|
||||
LAFBD-25__2014-06-19__ラフォーレ ガール Vol.25 : あいださくら
|
||||
LAFBD-24__2014-06-04__ラフォーレ ガール Vol.24 : MERU
|
||||
LAFBD-23__2014-05-08__ラフォーレ ガール Vol.23 : 小西まりえ
|
||||
LAFBD-22__2014-04-24__ラフォーレ ガール Vol.22 : 愛咲れいら
|
||||
LAFBD-21__2014-04-16__ラフォーレ ガール Vol.21 : 安城アンナ
|
||||
LAFBD-20__2014-03-24__ラフォーレ ガール Vol.20 : 椎名みくる
|
||||
LAFBD-19__2014-03-20__ラフォーレ ガール Vol.19 : 川瀬遥菜
|
||||
LAFBD-18__2014-02-14__ラフォーレ ガール Vol.18 : 大森玲菜
|
||||
LAFBD-17__2014-02-03__ラフォーレ ガール Vol.17 : 小暮真稀
|
||||
LAFBD-16__2014-01-23__ラフォーレ ガール Vol.16 : 篠田涼花
|
||||
LAFBD-15__2014-01-15__ラフォーレ ガール Vol.15 : 川瀬遥菜
|
||||
LAFBD-14__2014-01-08__ラフォーレ ガール Vol.14 : 白鳥ゆな
|
||||
LAFBD-13__2013-12-07__ラフォーレ ガール Vol.13 : 柚木楓
|
||||
LAFBD-12__2013-12-07__ラフォーレ ガール Vol.12 : 葵ゆめ
|
||||
LAFBD-11__2013-11-25__ラフォーレ ガール Vol.11 : 須藤沙希
|
||||
LAFBD-10__2013-11-14__ラフォーレ ガール Vol.10 : Hikari, 滝川ソフィア, 新山かえで, 一ノ瀬るか
|
||||
LAFBD-09__2013-10-31__ラフォーレ ガール Vol.9 : Hikari, 浅之美波, みなみ愛梨
|
||||
LAFBD-08__2013-10-24__ラフォーレ ガール Vol.8 : 立川理恵
|
||||
LAFBD-07__2013-10-17__ラフォーレ ガール Vol.7 : 滝川ソフィア
|
||||
LAFBD-06__2013-09-12__ラフォーレ ガール Vol.6 : 愛乃なみ
|
||||
LAFBD-05__2013-08-30__ラフォーレ ガール Vol.5 : Karin
|
||||
LAFBD-04__2013-08-20__ラフォーレ ガール Vol.4 : 麻宮玲
|
||||
LAFBD-03__2013-08-01__ラフォーレ ガール Vol.3 : みなみ愛梨
|
||||
LAFBD-02__2013-06-20__ラフォーレ ガール Vol.2 : 愛花沙也
|
||||
LAFBD-01__2013-05-09__ラフォーレ ガール Vol.1 : 枢木みかん (HD)
|
||||
173
javdb/javdb_tmp/MKBD_all.txt
Normal file
173
javdb/javdb_tmp/MKBD_all.txt
Normal file
@ -0,0 +1,173 @@
|
||||
MKBD-S143__2017-12-30__KIRARI 143 週末モデル : 神田るな
|
||||
MKBD-S142__2017-11-01__KIRARI 142 グラマラス : 華音
|
||||
MKBD-S141__2017-08-14__KIRARI 141 目の前で僕のためにヤラれる幼馴染 : 愛乃まほろ
|
||||
MKBD-S140__2017-07-26__KIRARI 140 ご主人様エッチな私をご覧ください : 希咲良
|
||||
MKBD-S139__2017-06-20__KIRARI 139 派遣メイド家政婦さんにイヤらしい事いっぱいさせて! : 白石真琴
|
||||
MKBD-S138__2017-05-19__KIRARI 138 可愛い過ぎロリメイドにイヤらしい事させました : 桃井りの
|
||||
MKBD-S137__2017-04-04__KIRARI 137 Kirari Model Collection Remix 3HRS : 波多野結衣, 篠田あゆみ, 花井メイサ, 羽月希
|
||||
MKBD-S134__2017-01-27__KIRARI 134 美少女のエッチな日常 : 水島にな
|
||||
MKBD-S135__2017-01-16__KIRARI 135 奇跡の50歳スーパー熟女がいたっ! : 南條れいな
|
||||
MKBD-S132__2017-01-03__KIRARI 132 全裸家政婦デカ尻 : 西川ゆい
|
||||
MKBD-S133__2017-01-03__KIRARI 133 従順ムッツリJK優等生 : 鈴木理沙
|
||||
MKBD-S131__2016-12-16__KIRARI 131 クリスマスは高級ソープへ : 相本みき
|
||||
MKBD-S130__2016-11-18__KIRARI 130 寸止め劇場 ~崩壊寸前のわたし~ : 葵千恵
|
||||
MKBD-S129__2016-10-18__KIRARI 129 今夜、ご注文はどっち!? : 碧木凛, 希美かんな
|
||||
MKBD-S128__2016-08-18__KIRARI 128 篠田あゆみのSOAP魂 : 篠田あゆみ
|
||||
MKBD-S127__2016-06-09__KIRARI 127 前田かおり最強の伝説 永久保存完全版3時間 : 前田かおり
|
||||
MKBD-S126__2016-05-09__KIRARI 126 生中出し限定!20名美人本番ベスト3時間 : こころ, 杏, 島崎結衣, 西条沙羅, 総勢20名
|
||||
MKBD-S125__2016-05-06__KIRARI 125 肉壺生徒会長 : 高山玲奈
|
||||
MKBD-S124__2016-04-21__KIRARI 124 人気女優12名ノンストップアクメ連続中出し3時間 : 神尾舞, 真野ゆりあ, 宮下華奈, 総勢12名
|
||||
MKBD-S123__2016-04-07__KIRARI 123 女なら一度はセックスで失神してみたい! : 篠田あゆみ
|
||||
MKBD-S122__2016-03-28__KIRARI 122 憧れの女性はAV女優志望 : 佐々木マリア
|
||||
MKBD-S121__2016-03-04__KIRARI 121 放課後のJKたち 【女子高生裏事情】3時間10Girls : 小西まりえ, 清水理紗, 一之瀬すず, 総勢10名
|
||||
MKBD-S120__2016-02-15__KIRARI 120 放課後美少女ファイル : 絢森いちか
|
||||
MKBD-S119__2016-02-08__KIRARI 119 アナタの夢を叶えちゃうぞ!LOVEバレンタインデート : 有賀ゆあ
|
||||
MKBD-S118__2016-01-22__KIRARI 118 余裕で三連発できちゃう極上の女優 : 立花美涼
|
||||
MKBD-S117__2015-12-29__KIRARI 117 極選!中出しイカセ~大物女優15名3時間メガ盛りMAX~ : 有賀ゆあ, 水樹りさ, 宮下華奈, 総勢15名
|
||||
MKBD-S116__2015-12-28__KIRARI 116 社長秘書のお仕事 : 鈴羽みう
|
||||
MKBD-S115__2015-12-23__KIRARI 115 極上セレブ婦人 : 水樹りさ
|
||||
MKBD-S114__2015-12-17__KIRARI 114 ビショヌレーボー解禁 : 羽鳥みか
|
||||
MKBD-S112__2015-11-11__KIRARI 112 汁だく美少女 : 宮下華奈
|
||||
MKBD-S111__2015-10-14__KIRARI 111 爆乳淫女 ~続々生中出し~ : 西条沙羅
|
||||
MKBD-S110__2015-10-05__KIRARI 110 美神あやがぼくのお嫁さん : 美神あや
|
||||
MKBD-S109__2015-09-23__KIRARI 109 荻野舞の部屋で撮影しちゃおう : 荻野舞
|
||||
MKBD-S108__2015-09-18__KIRARI 108 女たちの卑褻行為でイキまくり傑作選 : 真野ゆりあ, 大橋未久, 水城奈緒, 北川瞳, 立川理恵, 総勢16名
|
||||
MKBD-S107__2015-09-09__KIRARI 107 放課後に私を仕込んでください : 藤井なな
|
||||
MKBD-S106__2015-08-21__KIRARI 106 女子○生拉致監禁 : 木村美羽
|
||||
MKBD-S105__2015-08-20__KIRARI 105 人妻を満足させ隊 : 黒木琴音
|
||||
MKBD-S104__2015-08-04__KIRARI 104 京都はんなり娘 ~セックスハードルの低い女~ : 咲月りこ
|
||||
MKBD-S103__2015-07-27__KIRARI 103 沙弥があなたのお嫁さん : 新山沙弥
|
||||
MKBD-S102__2015-07-23__KIRARI 102 ダイナマイト : 愛沢かりん
|
||||
MKBD-S101__2015-06-29__KIRARI 101 素人娘AV体験撮影 : 宮本七音
|
||||
MKBD-S100__2015-06-25__KIRARI 100 男をイチコロにするJKコンビ : 青島かえで, 秋野早苗
|
||||
MKBD-S99__2015-06-11__KIRARI 99 佐伯ゆきなと素人コイオチ散歩 : 佐伯ゆきな
|
||||
MKBD-S98__2015-05-27__KIRARI 98 女祭りデラックス 3時間 : 波多野結衣, 保坂えり, 白咲碧, 広瀬奈々美, 総勢15名
|
||||
MKBD-S97__2015-05-25__KIRARI 97 緊縛に目覚める淫乱若妻 : 広瀬奈々美
|
||||
MKBD-S96__2015-05-18__KIRARI 96 美人すぎる社長秘書のお仕事 : 秋野千尋
|
||||
MKBD-S95__2015-04-28__KIRARI 95 AV撮影現場を密着取材! : 瀬奈まお
|
||||
MKBD-S94__2015-04-15__KIRARI 94 生中出しファン感謝オフ会 : 波多野結衣
|
||||
MKBD-S93__2015-03-12__KIRARI 93 人妻メイドサロン : 三橋杏奈
|
||||
MKBD-S92__2015-03-06__KIRARI 92 僕の彼女は鈴森汐那 : 鈴森汐那
|
||||
MKBD-S91__2015-02-17__KIRARI 91 人妻不倫温泉 : 水野葵
|
||||
MKBD-S90__2015-02-11__KIRARI 90 余裕で三連発できちゃう極上のパイパン女優Ray : Ray
|
||||
MKBD-S89__2015-02-02__KIRARI 89 死ぬほどセックスが大好きだから : 前田かおり
|
||||
MKBD-S88__2015-01-12__KIRARI 88 働きウーマン ~新米ナースの奮闘気~ : 生成うい
|
||||
MKBD-S87__2014-12-30__KIRARI 87 ちっちゃいオッパイを遊びっくす : 加藤麻耶
|
||||
MKBD-S86__2014-12-25__KIRARI 86 素人妻中出しソープ : 柄本ゆかり
|
||||
MKBD-S85__2014-12-23__KIRARI 85 放課後Hなアルバイト : 吉村美咲
|
||||
MKBD-S84__2014-12-08__KIRARI 84 おっぱい倶楽部 : 鈴村いろは
|
||||
MKBD-S82__2014-11-20__KIRARI 82 中出し高級熟女ソープ嬢 : 松永ちえり
|
||||
MKBD-S81__2014-10-20__KIRARI 81 働きウーマンオマンコ、崩壊 : 藤原沙耶
|
||||
MKBD-S80__2014-09-25__KIRARI 80 中出しデラックス3時間 : 大場ゆい, 永瀬里美, 百田ゆきな, 総勢16名
|
||||
MKBD-S79__2014-09-11__KIRARI 79 奇跡のパーフェクト美女 プレミアムBEST3HR : 安城アンナ
|
||||
MKBD-S78__2014-09-04__KIRARI 78 「僕だけの女子○生オナペット」 : 花穂
|
||||
MKBD-S77__2014-08-27__KIRARI 77 レンタル中 : 佳苗るか
|
||||
MKBD-S76__2014-08-20__KIRARI 76 出会って2.5秒合体X連続発射 : 小宮涼菜
|
||||
MKBD-S75__2014-07-03__KIRARI 75 「出会って〇秒で合体」いきなりハメる! : 大場ゆい
|
||||
MKBD-S73__2014-06-10__KIRARI 73 汁だく ~大絶頂ハメ潮性交~ : 二宮ナナ
|
||||
MKBD-S74__2014-05-22__KIRARI 74 淫女フェロモンをまき散らし 小早川怜子三時間総集編 : 小早川怜子
|
||||
MKBD-S72__2014-05-01__KIRARI 72 歴代豊満巨乳の大人気女優39セックス、ベスト名場面愛蔵版 : 波多野結衣, 小澤マリア, 鈴木さとみ, 総勢36人
|
||||
MKBD-S71__2014-05-01__KIRARI 71 国宝級のおっぱいコンプリートファイル立川理恵三時間 : 立川理恵
|
||||
MKBD-S69__2014-04-10__KIRARI 69 妹のロリマンに中出し : 大桃りさ
|
||||
MKBD-S70__2014-04-08__KIRARI 70 19歳の潮吹き女子大生 : 桐乃みく
|
||||
MKBD-S66__2014-03-25__KIRARI 66 ボクと妹の中出し性交 : 蒼乃かな
|
||||
MKBD-S68__2014-03-20__KIRARI 68 パイパンお嬢様モデルと中出しSEX : みやび真央
|
||||
MKBD-S65__2014-02-27__KIRARI 65 新山かえでコレクション 美乳独り占め!180mins : 新山かえで
|
||||
MKBD-S67__2014-02-21__KIRARI 67 美乳女神のド迫力中出しメガ盛り 怒涛の3時間 : 立川理恵, 音羽レオン, 椎名みくる, みなみ愛梨, 西園寺れお 他
|
||||
MKBD-S64__2014-01-14__KIRARI 64 黒髪美乳娘と中出しSEX : みなみ愛梨
|
||||
MKBD-S63__2014-01-07__KIRARI 63 中出し黒髪美少女 : 斉木ゆあ
|
||||
MKBD-S62__2013-12-24__KIRARI 62 可愛すぎる妹と中出しエッチ : 七星くる
|
||||
MKBD-S61__2013-12-07__KIRARI 61 敏感スレンダーモデルと中出しSEX : 茜梨乃
|
||||
MKBD-S60__2013-11-26__KIRARI 60 南の島の中出しビーチサイドSEX : 滝川ソフィア
|
||||
MKBD-S58__2013-10-17__KIRARI 58 グラマーモデルと南国中出しFUCK : 新山かえで
|
||||
MKBD-S59__2013-10-10__KIRARI 59 ド淫乱爆乳美女達ザーメン中出し20名理性崩壊!DX3時間 : 滝川ソフィア, 新山かえで, みづなれい, 波多野結衣, 総勢20名
|
||||
MKBD-S57__2013-08-30__KIRARI 57 女子大生にデカラマ青姦&中出し : 彩夏
|
||||
MKBD-S56__2013-08-15__KIRARI 56 生姦中出し一泊旅行 : 浅之美波
|
||||
MKBD-S55__2013-07-30__KIRARI 55 : 椎名ひかる 総集編 DX 3時間
|
||||
MKBD-S01__2013-07-23__KIRARI 01 : 長澤あずさ
|
||||
MKBD-S54__2013-07-04__KIRARI 54 : 優希まこと 総集編 DX 3時間
|
||||
MKBD-S53__2013-06-13__KIRARI 53 ~可愛い介護士!中出しサービス~ : 園咲杏里
|
||||
MKBD-S51__2013-05-20__KIRARI 51 ~男を狂わすS級生奉仕ソープ嬢~ : 美月優芽
|
||||
MKBD-S52__2013-05-17__KIRARI 52 ~美少女たちのオナニーCollection~ 3時間 : 沖ひとみ・上原結衣・春日由衣・園咲杏里・優希まこと・椎名ひかる・他総勢50人
|
||||
MKBD-S50__2013-05-13__KIRARI 50 ~セレブ妻の淫乱生活~ : 春日由衣 (HD)
|
||||
MKBD-S49__2013-05-03__KIRARI 49 ~素人童貞のファン家にお宅訪問して、童貞を奪っちゃいました!?~ : 麻生めい (HD)
|
||||
MKBD-S48__2013-04-01__KIRARI 48 : 水沢杏香 総集編 DX 3時間 (HD)
|
||||
MKBD-S47__2013-03-21__KIRARI 47 : Maika 総集編 DX 3時間 (HD)
|
||||
MKBD-S45__2013-03-14__KIRARI 45 ~顔面どろっどろっ濃厚精子シャワー怒涛の112連発~ : 真田春香, 愛内梨花, 矢吹杏, 橘ひなた, 長澤あずさ, 総勢22名 (HD)
|
||||
MKBD-S20__2013-03-06__KIRARI 20 : 煌芽木ひかる (HD)
|
||||
MKBD-S14__2013-03-01__KIRARI 14 : とこな由羽 (HD)
|
||||
MKBD-S06__2013-02-26__KIRARI 06 : 時坂ひな (HD)
|
||||
MKBD-S46__2013-02-19__KIRARI 46 ~僕のペットは宮地由梨香~ : 宮地由梨香 (HD)
|
||||
MKBD-S43__2013-02-14__KIRARI 43 ~豪快潮吹き~ 3時間: 希咲エマ, Maika, まりか, 水沢杏香, 永沢まおみ, 前田陽菜, 他計36名 (HD)
|
||||
MKBD-S44__2013-02-13__KIRARI 44 ~処女ドル!犯り穴快楽~ : 更田まき (HD)
|
||||
MKBD-S04__2013-02-12__KIRARI 04 : 小嶋ジュンナ (HD)
|
||||
MKBD-S42__2013-01-24__KIRARI 42 ~すんごいやらしい~ : 沙織 (HD)
|
||||
MKBD-S41__2013-01-04__KIRARI 41 ~堕ちてゆく女弁護士~ : 水沢真樹 (HD)
|
||||
MKBD-S40__2013-01-03__KIRARI 40 ~0秒で合体~ : 優希まこと (HD)
|
||||
MKBD-S39__2012-12-27__KIRARI 39 : 永沢まおみ 総集編 DX 3時間 (HD)
|
||||
MKBD-S38__2012-12-20__KIRARI 38 : ダブルペネトレーション 二穴生連続中出し姦25連発 : 希咲エマ, まりか, 篠めぐみ, 葵みゆ, 麻美ゆい, 羽月希, 美咲ゆい, 柳田やよい, 優木あおい, 甲斐ミハル (
|
||||
MKBD-S37__2012-12-19__KIRARI 37 スチュワーデスの溜まった性欲 : 椎名ひかる (HD)
|
||||
MKBD-S10__2012-12-13__KIRARI 10 : 中原あきな (HD)
|
||||
MKBD-S36__2012-12-05__KIRARI 36 ~まりかのパイパン潮吹き中出しSEX!!~ : まりか (HD)
|
||||
MKBD-S03__2012-11-30__KIRARI 03 : 一ノ瀬アメリ (HD)
|
||||
MKBD-S35__2012-11-13__KIRARI 35 ~敏感すぎて困っちゃう。。。~ : 水沢杏香 (HD)
|
||||
MKBD-S34__2012-11-07__KIRARI 34 ~精飲娘の悩殺アナルファック!~ : 希咲エマ (HD)
|
||||
MKBD-S05__2012-11-05__KIRARI 05 : 藤本リーナ (HD)
|
||||
MKBD-S33__2012-10-09__KIRARI 33 : 篠めぐみ 総集編 DX 3時間 篠めぐみ (HD)
|
||||
MKBD-S16__2012-10-08__KIRARI 16 : 野々村みゆき (HD)
|
||||
MKBD-S15__2012-10-08__KIRARI 15 : 優木まみ (HD)
|
||||
MKBD-S07__2012-10-05__KIRARI 07 : 真木今日子 総集編 DX 3時間 真木今日子 (HD)
|
||||
MKBD-S32__2012-10-03__KIRARI 32 ~覚醒~ : Maika (HD)
|
||||
MKBD-S17__2012-10-03__KIRARI 17 : 南りいさ (HD)
|
||||
MKBD-S08__2012-10-01__KIRARI 08 : 藤北彩香 (HD)
|
||||
MKBD-S31__2012-09-27__KIRARI 31 : 遥めぐみ 総集編 DX 3時間 遥めぐみ (HD)
|
||||
MKBD-S30__2012-09-14__KIRARI 30 ~爆乳ナース中出し診察~ : 辻井美穂 (HD)
|
||||
MKBD-S29__2012-09-13__KIRARI 29 : 杏樹紗奈 (HD)
|
||||
MKBD-S28__2012-09-07__KIRARI 28 ~南の島に美少女がやってきた~ : 秋元まゆ花 (HD)
|
||||
MKBD-S13__2012-09-05__KIRARI 13 : 片桐えりりか (HD)
|
||||
MKBD-S09__2012-08-27__KIRARI 09 : 麻美ゆい (HD)
|
||||
MKBD-S27__2012-08-24__KIRARI 27 ~酔って発情した女将~ : 北川みなみ (HD)
|
||||
MKBD-S11__2012-08-24__KIRARI 11 : 西山希 (HD)
|
||||
MKBD-S26__2012-08-16__KIRARI 26 ~美少女とまらないアクメ潮~ : 永沢まおみ (HD)
|
||||
MKBD-S23__2012-08-03__KIRARI 23 ~南の島で大胆に生中ファック~ : 前田陽菜 (HD)
|
||||
MKBD-S24__2012-07-26__KIRARI 24 ~セクシー三穴生姦エンジェルス~ : 篠めぐみ (HD)
|
||||
MKBD-S25__2012-07-16__KIRARI 25 ~Girl x Girl~ : 葵ぶるま, 上条めぐ (HD)
|
||||
MKBD-S22__2012-06-14__KIRARI 22 : 愛原エレナ (HD)
|
||||
MKBD-S21__2012-06-01__KIRARI 21 : 綾瀬ティアラ 総集編 DX 3時間 (HD)
|
||||
MKBD-S19__2012-05-04__KIRARI 19 : 橘ひなた 総集編 DX 3時間 (HD)
|
||||
MKBD-S18__2012-05-04__KIRARI 18 : AIKA 総集編 DX 3時間 (HD)
|
||||
MKBD-02__2011-08-11__KIRARI 02 : 橘ひなた, あいりみく (HD)
|
||||
MIBD-682__2012-12-01__真性中出し8時間(MIBD-682)
|
||||
MVBD-059__2012-04-19__飲みたがるオクチとマンコBEST(MVBD-059)
|
||||
MBKD-092__2023-02-28__激安!100円でもヌケる 母子交尾 翔田千里 (MBKD-092)
|
||||
MBKD-086__2022-11-29__激安!100円でもヌケる 母子交尾 遠田恵未 (MBKD-086)
|
||||
MBKD-066__2022-01-25__激安!100円でもヌケる 母子交尾 中野七緒 (MBKD-066)
|
||||
MBKD-054__2021-06-12__激安!100円でもヌケる 母子交尾 並木塔子 (MBKD-054)
|
||||
MVBD-097__2014-01-19__アナル・中出し・飲尿・ぶっかけ・ごっくん 超ハード大乱交 最狂タイトル勢揃い8時間(MVBD-097)
|
||||
MVBD-057__2012-02-19__アナル・中出し・飲尿・ぶっかけ・ごっくん 超ハード大乱交 最狂タイトル勢揃い8時間(MVBD-057)
|
||||
AKBD-26__2009-06-26__女英雄同性戀戰鬥003
|
||||
AKBD-27__2009-06-26__女英雄同性戀戰鬥004
|
||||
AKBD-25__2009-04-24__女英雄キャット戰鬥004
|
||||
AKBD-24__2009-04-10__女英雄キャット戰鬥003
|
||||
AKBD-20__2009-03-13__女英雄エロ戰鬥003
|
||||
AKBD-22__2009-03-13__女英雄キャット戰鬥001
|
||||
AKBD-18__2009-02-27__女英雄戰鬥007
|
||||
AKBD-19__2009-02-27__女英雄戰鬥008
|
||||
AKBD-16__2009-02-13__超級混合戰鬥003
|
||||
AKBD-17__2009-02-13__超級混合戰鬥004
|
||||
AKBD-15__2009-01-23__超級混合戰鬥002
|
||||
AKBD-13__2009-01-09__フンドシ戰鬥
|
||||
AKBD-11__2008-12-26__女英雄戰鬥005
|
||||
AKBD-12__2008-12-26__女英雄戰鬥006
|
||||
AKBD-10__2008-12-12__女英雄同性戀戰鬥002持田茜同性戀ドミ地獄2
|
||||
AKBD-09__2008-12-12__女英雄同性戀戰鬥001持田茜同性戀ドミ地獄1
|
||||
AKBD-08__2008-11-28__女英雄戰鬥004
|
||||
AKBD-06__2008-11-28__角色扮演戰鬥002
|
||||
AKBD-07__2008-11-28__女英雄戰鬥003
|
||||
AKBD-04__2008-11-14__女英雄エロ戰鬥002
|
||||
AKBD-02__2008-11-14__女英雄戰鬥002
|
||||
AKBD-03__2008-11-14__女英雄エロ戰鬥
|
||||
AKBD-01__2008-11-14__女英雄戰鬥
|
||||
AKBD-05__2008-11-14__角色扮演戰鬥001
|
||||
BKBD-02__2003-07-01__拘束SLAVE 佐藤えり
|
||||
BKBD-01__2003-06-01__拘束SLAVE 杉森風緒
|
||||
279
javdb/javdb_tmp/S2MBD_all.txt
Normal file
279
javdb/javdb_tmp/S2MBD_all.txt
Normal file
@ -0,0 +1,279 @@
|
||||
S2MBD-048__2020-02-25__アンコール Vol.48 Soap Girl Rui : 早川ルイ
|
||||
S2MBD-045__2020-02-18__アンコール Vol.45 ~美尻ギャルの超ラブ♥ アナルSEX~ : 有安真里
|
||||
S2MBD-044__2020-02-11__アンコール Vol.44 ~絶品爆乳オフィスレディ~ : 菅野みいな
|
||||
S2MBD-043__2020-02-04__アンコール Vol.43 ~お宅訪問濃密中出しサービス!~ : 木之内ルル
|
||||
S2MBD-042__2020-01-28__アンコール Vol.42 ~公然猥褻ぷれい~ : 南らん
|
||||
S2MBD-041__2020-01-21__アンコール Vol.41 ~爆乳逆中出しソープ嬢~ : 菅野みいな
|
||||
S2MBD-040__2020-01-14__アンコール Vol.40 甦る奇跡のエロ○ータ : 笠木忍
|
||||
S2MBD-039__2020-01-07__アンコール Vol.39 : 狂った美尻 : 宮瀬リコ
|
||||
S2MBD-038__2019-12-27__アンコール Vol.38 : 極上炉利マン家庭教師 : 春香るり
|
||||
S2MBD-037__2019-12-24__ステージ2リミックス: 総勢12名の美女が魅せる激エロFUCK!
|
||||
S2MBD-036__2019-12-17__アンコール Vol.36 お強請りアナル : 心有花
|
||||
S2MBD-035__2019-12-10__アンコール Vol.35 絶頂セクササイズ : 美咲カレン
|
||||
S2MBD-034__2019-12-03__アンコール Vol.34 : 雨宮琴音
|
||||
S2MBD-032__2019-11-29__アンコール Vol.32 りんのエッチな私生活 : ももかりん
|
||||
S2MBD-031__2019-11-26__アンコール Vol.31 美女と淫語とズブ濡れマ〇コ : 美月
|
||||
S2MBD-029__2019-11-22__アンコール Vol.29 : 真咲まみ
|
||||
S2MBD-028__2019-11-19__アンコール Vol.28 : 波多野結衣
|
||||
S2MBD-027__2019-11-15__アンコール Vol.27 : 綾瀬しおり
|
||||
S2MBD-026__2019-11-12__アンコール Vol.26 : 倉木みお
|
||||
S2MBD-025__2019-11-08__アンコール Vol.25: 宮間葵
|
||||
S2MBD-024__2019-11-05__アンコール Vol.24 : 小柳まりん
|
||||
S2MBD-023__2019-11-01__アンコール Vol.23: 川本セリカ
|
||||
S2MBD-022__2019-10-25__アンコール Vol.22: 岬リサ
|
||||
S2MBD-021__2019-10-18__アンコール Vol.21 : 美月
|
||||
S2MBD-020__2019-10-11__アンコール Vol.20 : 小澤マリア
|
||||
S2MBD-019__2019-10-08__アンコール Vol.19 : 白咲舞
|
||||
S2MBD-018__2019-10-04__アンコール Vol.18 : つばさ, 花音
|
||||
S2MBD-017__2019-10-01__アンコール Vol.17 牧野つかさ
|
||||
S2MBD-016__2019-09-27__アンコール Vol.16 : 波多野結衣
|
||||
S2MBD-015__2019-09-24__アンコール Vol.15 : 浅乃ハルミ
|
||||
S2MBD-014__2019-09-20__アンコール Vol.14 : 雨宮琴音
|
||||
S2MBD-013__2019-09-17__アンコール Vol.13 : 麻宮かりん
|
||||
S2MBD-012__2019-09-13__アンコール Vol.12 : 小桜沙樹
|
||||
S2MBD-011__2019-09-10__アンコール Vol.11 : 白咲舞
|
||||
S2MBD-010__2019-09-06__アンコール Vol.10 : 南あかり
|
||||
S2MBD-009__2019-09-03__アンコール Vol.9 : 綾瀬しおり
|
||||
S2MBD-008__2019-08-30__アンコール Vol.8 : 雨宮琴音
|
||||
S2MBD-007__2019-08-27__アンコール Vol.7 : 波多野結衣
|
||||
S2MBD-006__2019-08-23__アンコール Vol.6 : 美祢藤コウ
|
||||
S2MBD-005__2019-08-20__アンコール Vol.5 : 君野ゆめ
|
||||
S2MBD-004__2019-08-16__アンコール Vol.4 : 石川鈴華
|
||||
S2MBD-003__2019-08-13__アンコール Vol.3 : KAORI
|
||||
S2MBD-001__2019-08-09__アンコール Vol.1 : 岬リサ
|
||||
S2MBD-002__2019-08-09__アンコール Vol.2 : 美祢藤コウ
|
||||
S2MBD-055__2016-07-14__アンコール Vol.55 三穴姦 : 上原亜衣
|
||||
S2MBD-052__2016-05-03__アンコール Vol.52 極上泡姫物語 : 葉山瞳
|
||||
S2MBD-053__2016-05-03__アンコール Vol.53 After School 放課後美少女倶楽部 : 源みいな
|
||||
S2MBD-051__2016-03-15__アンコール Vol.51 超高級淫語ソープ : 源みいな
|
||||
S2MBD-030__2016-02-18__アンコール Vol.30 禁じられた愛 : 宮間葵 ( FULL HD )
|
||||
S2MBD-050__2015-11-09__アンコール Vol.50 MODEL COLLECTION : 上原亜衣
|
||||
S2MBD-049__2015-11-05__アンコール Vol.49 超LOVEx2 中出し同棲生活 : 源みいな ( FULL HD)
|
||||
S2MBD-048__2015-10-07__アンコール Vol.48 Soap Girl Rui : 早川ルイ ( FULL HD )
|
||||
S2MBD-047__2015-08-05__アンコール Vol.47 上原亜衣を陵辱 : 上原亜衣 ( FULL HD)
|
||||
S2MBD-046__2015-04-23__アンコール Vol.46 解禁 : 上原亜衣 ( FULL HD)
|
||||
S2MBD-045__2013-04-18__アンコール Vol.45 ~美尻ギャルの超ラブ♥ アナルSEX~ : 有安真里 (HD)
|
||||
S2MBD-044__2012-08-30__アンコール Vol.44 ~絶品爆乳オフィスレディ~ : 菅野みいな (HD)
|
||||
S2MBD-043__2012-08-23__アンコール Vol.43 ~お宅訪問濃密中出しサービス!~ : 木之内ルル (HD)
|
||||
S2MBD-042__2012-08-22__アンコール Vol.42 ~公然猥褻ぷれい~ : 南らん (HD)
|
||||
S2MBD-037__2011-12-08__ステージ2リミックス: 総勢12名の美女が魅せる激エロFUCK! (HD)
|
||||
S2MBD-035__2011-10-20__アンコール Vol.35 絶頂セクササイズ : 美咲カレン (HD)
|
||||
S2MBD-026__2011-06-23__アンコール Vol.26: 倉木みお (HD)
|
||||
S2MBD-006__2011-03-18__アンコール Vol.6 : 美祢藤コウ (HD)
|
||||
S2MBD-002__2010-07-12__アンコール Vol.2 : 美祢藤コウ (HD)
|
||||
S2MBD-041-1__2012-05-31__アンコール Vol.41 ~爆乳逆中出しソープ嬢~ : 菅野みいな Part.1 (HD)
|
||||
S2MBD-040-1__2012-04-11__アンコール Vol.40 甦る奇跡のエロ○ータ : 笠木忍 Part.1 (HD)
|
||||
S2MBD-039-1__2012-01-26__アンコール Vol.39 : 狂った美尻 : 宮瀬リコ Part.1 (HD)
|
||||
S2MBD-038-1__2012-01-13__アンコール Vol.38 : 極上ロリマン家庭教師 : 春香るり (HD) Part.1
|
||||
S2MBD-034-1__2011-09-22__アンコール Vol.34 : 雨宮琴音 : Part.1 (HD)
|
||||
S2MBD-033-1__2011-09-08__アンコール Vol.33 - 絶対、カメラ目線 - : 心有花 : Part.1 (HD)
|
||||
S2MBD-031-1__2011-08-25__アンコール Vol.31 美女と淫語とズブ濡れマ○コ : 美月: Part.1 (HD)
|
||||
S2MBD-032-1__2011-08-25__アンコール Vol.32 りんのエッチな私生活 : ももかりん : Part.1 (HD)
|
||||
S2MBD-029-1__2011-07-29__アンコール Vol.29: 真咲まみ: Part.1 (HD)
|
||||
S2MBD-028-1__2011-07-22__アンコール Vol.27: 波多野結衣 : Part.1 (HD)
|
||||
S2MBD-027-1__2011-06-30__アンコール Vol.27: 綾瀬しおり : Part.1 (HD)
|
||||
S2MBD-024-1__2011-06-16__アンコール Vol.24: 小柳まりん : Part.1 (HD)
|
||||
S2MBD-025-1__2011-06-13__アンコール Vol.25: 宮間葵 : Part.1 (HD)
|
||||
S2MBD-023-1__2011-06-01__アンコール Vol.23: 川本セリカ : Part.1 (HD)
|
||||
S2MBD-022-1__2011-05-20__アンコール Vol.22: 岬リサ : Part.1 (HD)
|
||||
S2MBD-021-1__2011-04-28__アンコール Vol.21 : 美月: Part.1 (HD)
|
||||
S2MBD-020-1__2011-04-21__アンコール Vol.20 : 小澤マリア : Part.1 (HD)
|
||||
S2MBD-017-1__2011-04-14__アンコール Vol.17 卑猥な視線 : 牧野つかさ : Part.1 (HD)
|
||||
S2MBD-019-1__2011-04-11__アンコール Vol.19 : 白咲舞 : Part.1 (HD)
|
||||
S2MBD-016-1__2011-03-25__アンコール Vol.16 : 波多野結衣 : Part.1 (HD)
|
||||
S2MBD-015-1__2011-03-14__アンコール Vol.15 : 浅乃ハルミ : Part.1 (HD)
|
||||
S2MBD-014-1__2011-03-05__アンコール Vol.14 : 雨宮琴音 : Part.1 (HD)
|
||||
S2MBD-018-1__2011-02-18__アンコール Vol.18 : つばさ, 花音 : Part.1 (HD)
|
||||
S2MBD-013-1__2011-02-04__アンコール Vol.13 : 麻宮かりん : Part.1 (HD)
|
||||
S2MBD-012-1__2011-01-21__アンコール Vol.12 : 小桜沙樹 : Part.1 (HD)
|
||||
S2MBD-010-1__2010-12-29__アンコール Vol.10 : 南あかり : Part.1 (HD)
|
||||
S2MBD-011-1__2010-12-23__アンコール Vol.11 : 白咲舞 : Part.1 (HD)
|
||||
S2MBD-007-1__2010-11-30__アンコール Vol.7 : 波多野結衣 : Part.1 (HD)
|
||||
S2MBD-009-1__2010-11-26__アンコール Vol.9 : 綾瀬しおり : Part.1 (HD)
|
||||
S2MBD-008-1__2010-11-13__アンコール Vol.8 : 雨宮琴音 : Part.1 (HD)
|
||||
S2MBD-005-1__2010-10-25__アンコール Vol.5 : 君野ゆめ : Part.1 (HD)
|
||||
S2MBD-004-1__2010-09-29__アンコール Vol.4 : 石川鈴華 : Part.1 (HD)
|
||||
S2MBD-003-1__2010-09-13__アンコール Vol.3 : KAORI : Part.1 (HD)
|
||||
S2MBD-001-1__2010-02-05__アンコール Vol.1 : Part-1 (HD)
|
||||
SMBD-05__2023-12-09__S Model 05 : ステファニー
|
||||
SMBD-180__2017-11-17__S Model 180 美人OL愛欲白書 : 生島涼
|
||||
SMBD-179__2017-11-01__S Model 179 恋オチ : 神田るな
|
||||
SMBD-178__2017-08-21__S Model 178 白石真琴引退ドッキリSP : 白石真琴
|
||||
SMBD-176__2017-06-15__S Model 176 ザーメン中毒美少女生ハメぶっかけ : 水島にな
|
||||
SMBD-175__2017-06-13__S Model 175 初彼女を気持ちよくさせるテクニックを教えてください! : 華城まや
|
||||
SMBD-174__2017-05-18__S Model 174 顔面ザーメン漬け : 愛乃まほろ
|
||||
SMBD-173__2017-05-09__S Model 173 DEBUT : 生島涼
|
||||
SMBD-172__2017-04-27__S Model 172 オフィスレディーの社内交尾 : 丘咲エミリ
|
||||
SMBD-171__2017-04-04__S Model 171 総決算スーパーモデルメディア厳選超絶性技を持つ女BEST4 3HRS : 尾上若葉, 立川理恵, 前田かおり, 優希まこと
|
||||
SMBD-170__2017-02-03__S Model 170 おもてなし庵 : 七瀬リナ
|
||||
SMBD-169__2017-01-20__S Model 169 純真な黒髪乙女JK生中出し : 西野なこ
|
||||
SMBD-168__2017-01-16__S Model 168 ボクだけのご奉仕メイド : 加藤えま
|
||||
SMBD-167__2017-01-06__S Model 167 出会って2.5秒で合体 : ももき希
|
||||
SMBD-166__2017-01-03__S Model 166 某大手商社勤務のストレス発散SEX : 相本みき
|
||||
SMBD-165__2016-12-19__S Model 165 DEBUT : 綾名レナ
|
||||
SMBD-164__2016-12-01__S Model 164 DEBUT : 美波ゆさ
|
||||
SMBD-163__2016-11-18__S Model 163 DEBUT : 加藤えま
|
||||
SMBD-162__2016-09-23__S Model 162 エロすぎる濃厚中出し交尾 : 水谷心音
|
||||
SMBD-161__2016-08-26__S Model 161 パコパコパーティ : 成宮はるあ, 希美かんな, 美月優芽, 碧木凛, 一条りおん, 西条沙羅
|
||||
SMBD-160__2016-07-21__S Model 160 超高級ソープ嬢 : 西川ゆい
|
||||
SMBD-159__2016-06-07__S Model 159 Ero Body OL裏事情 : こころ
|
||||
SMBD-158__2016-05-26__S Model 158 巷で話題になっている大物女優達ゴージャスセレクト 10Girls 3Hours : 篠田あゆみ, みほの, 西川ゆい, 総勢10名
|
||||
SMBD-157__2016-05-04__S Model 157 OL新入社員のお仕事 : あかね杏珠
|
||||
SMBD-156__2016-04-18__S Model 156 ガクガク野外露出SEX連続中出し : 有賀ゆあ
|
||||
SMBD-155__2016-04-11__S Model 155 鬼イカセベスト3時間11名大絶頂スペシャル : 波多野結衣, 藤井なな, 翼みさき, 西川ちひろ, 総勢11名
|
||||
SMBD-154__2016-03-25__S Model 154 Non-Stop! 余裕で三連発できちゃう極上の女優たち7名3時間 : 篠田あゆみ, 星野千紗, ももか, 総勢7名
|
||||
SMBD-153__2016-03-04__S Model 153 新人社員のお仕事 : 島崎結衣
|
||||
SMBD-152__2016-02-29__S Model 152 露出デート アウトドアで潮吹き放題 : 鈴羽みう
|
||||
SMBD-151__2016-02-09__S Model 151 ファン感謝ツアー : 篠田あゆみ
|
||||
SMBD-150__2016-01-21__S Model 150 秘密の放課後エッチタイム : 碧木凛
|
||||
SMBD-149__2016-01-20__S Model 149 絶対抜ける保証付きBEST版 3時間総勢17人出演! : 鈴羽みう, 真野ゆりあ, 宮崎愛莉, 総勢17人
|
||||
SMBD-148__2016-01-11__S Model 148 世界最高級ソープへようこそ : 杏
|
||||
SMBD-147__2015-12-21__S Model 147 余裕で三連発できちゃう極上の女優 : 星野千紗
|
||||
SMBD-146__2015-12-18__S Model 146 Eros House 何度も激しくイキまくり昇天だ! : 大島ゆず奈
|
||||
SMBD-145__2015-12-03__S Model 145 夫婦喧嘩で家出してきた隣の奥さん : 立花美涼
|
||||
SMBD-144__2015-11-11__S Model 144 巨乳な清純 : 清水理紗
|
||||
SMBD-143__2015-11-04__S Model 143 連れ回し露出調教 : 楓ゆうか
|
||||
SMBD-142__2015-10-30__S Model 142 極上素人鬼イカセ : 藤井なな
|
||||
SMBD-141__2015-10-26__S Model 141 ミスキャンパス娘が性欲丸出し!! : 神尾舞
|
||||
SMBD-139__2015-09-28__S Model 139 女王のソープ : 宮崎愛莉
|
||||
SMBD-140__2015-09-18__S Model 140 純白美肌のエロお嬢様 連続中出し : 酒井ももか (ブルーレイディスク版)
|
||||
SMBD-138__2015-09-14__S Model 138 ギャルになって帰ってきた幼馴染 : 真野ゆりあ
|
||||
SMBD-137__2015-09-10__S Model 137 シェアハウスロリ乱交 : 海野空詩, 春山彩香, 南星愛
|
||||
SMBD-136__2015-08-26__S Model 136 永久保存版発売記念BEST 3HR : 大橋未久
|
||||
SMBD-135__2015-08-13__S Model 135 ファン感謝デー : 松本メイ
|
||||
SMBD-134__2015-08-03__S Model 134 amateur 盛り上がっちゃうドしろーと : 美星るか
|
||||
SMBD-133__2015-07-06__S Model 133 極上素人貸しちゃいます。 : 保坂えり
|
||||
SMBD-132__2015-07-01__S Model 132 親友の母親 : 黒木琴音
|
||||
SMBD-131__2015-06-26__S Model 131 制服が似合う黒髪清楚美女貸しちゃいます : 金井みお
|
||||
SMBD-130__2015-06-24__S Model 130 盛り上がっちゃう淫乱人妻 : 杉崎絵里奈
|
||||
SMBD-129__2015-06-01__S Model 129 共有少女 : 新山沙弥
|
||||
SMBD-128__2015-05-27__S Model 128 たちまち挿入! 視界侵入 ~後向いてたら入ってきた~ : 愛沢かりん
|
||||
SMBD-127__2015-05-15__S Model 127 史上最強の超人気女優12名 エクスタシー3時間DX : 前田かおり, 尾上若葉, 川村まや, 春日野結衣, 総勢12名
|
||||
SMBD-126__2015-05-07__S Model 126 清楚な妻の真実 : みづなれい
|
||||
SMBD-125__2015-04-30__S Model 125 働きウーマン ~予備校講師~ : 鈴森汐那
|
||||
SMBD-124__2015-04-20__S Model 124 アナルでハメ潮しちゃうド変態娘 : 辻井ゆう
|
||||
SMBD-123__2015-04-08__S Model 123 彼氏の願いは集団プレイ : 市川みのり
|
||||
SMBD-122__2015-03-20__S Model 122 ドジっ娘メイドのご奉仕 : 綾瀬なるみ
|
||||
SMBD-121__2015-03-16__S Model 121 美人すぎる社長秘書のお仕事 : 広瀬奈々美
|
||||
SMBD-120__2015-03-05__S Model 120 美人官能小説デビューへの道 : Ray
|
||||
SMBD-119__2015-03-04__S Model 119 ちっぱい感度チェック : 加藤麻耶
|
||||
SMBD-118__2015-02-23__S Model 118 「美人」清掃婦にチ〇コみせたらその場で一発スゲ~のヤレた : 秋野千尋
|
||||
SMBD-117__2015-02-11__S Model 117 出会って2.5秒で合体 x2 : 保坂えり
|
||||
SMBD-115__2015-01-08__S Model 115 恥辱の中出し授業 : 大橋未久
|
||||
SMBD-114__2014-12-30__S Model 114 働きウーマン ~新人ナースのおシゴト~ : 若菜みなみ
|
||||
SMBD-111__2014-12-26__S Model 111 コスプレロリ娘に大量発射 : 櫻木梨乃
|
||||
SMBD-116__2014-12-25__S Model 116 発情JK碧ちゃん!肉便器育成計画!! : 白咲碧
|
||||
SMBD-113__2014-12-23__S Model 113 変態露出狂に出会って2.5秒で合体 : 大澤美咲
|
||||
SMBD-112__2014-12-22__S Model 112 恥じらいオッパイGカップ巨乳猥褻娘コンプリートファイル 3HRS : 水城奈緒
|
||||
SMBD-110__2014-12-11__S Model 110 オーバーサイズBlack Fuck 激カワアナルメイド : 小西まりえ
|
||||
SMBD-109__2014-11-25__S Model 109 由美の家で撮影しちゃおう : 前田由美
|
||||
SMBD-108__2014-11-06__S Model S Model 108 真性中出し名場面集 : 佳苗るか
|
||||
SMBD-107__2014-10-17__S Model 107 女の子の部屋でガチファック : 堀口真希
|
||||
SMBD-106__2014-09-18__S Model 106 厳選売り上げベスト3RH TOP12 : 尾上若葉, 安城アンナ, 佳苗るか, 二宮ナナ, 総勢12名
|
||||
SMBD-105__2014-08-21__S Model 105 驚愕の爆ボディ生殺し : 水城奈緒
|
||||
SMBD-104__2014-08-07__S Model 104 最高に淫らな絶品ボディ : 阿久美々
|
||||
SMBD-103__2014-07-04__S Model 103 おさな妻が可愛すぎる : 永瀬里美
|
||||
SMBD-102__2014-06-30__S Model 102 放課後バイト 美少女の裏 : 柏倉玲華
|
||||
SMBD-100__2014-06-12__S Model 100 初めての中出しセックス : 紺野まりえ
|
||||
SMBD-101__2014-05-27__S Model 101 史上最強にエロい美少女20名コレクション 3HR : 北川瞳, 篠田ゆう, あいださくら, 総勢20名
|
||||
SMBD-99__2014-05-15__S Model 99 音羽レオン全てを曝け出し、生チンポの突きに本気で感じまくる! : 音羽レオン
|
||||
SMBD-98__2014-05-06__S Model 98 驚異の七連発特選保存版♥黒髪美乳娘 : みなみ愛梨
|
||||
SMBD-97__2014-04-15__S Model 97 105cm Iカップ。爆乳ナマ姦中出し激揺れ : 荒木りな
|
||||
SMBD-96__2014-04-09__S Model 96 ボクはかわいい妹の中で出す : 武井もな
|
||||
SMBD-94__2014-03-27__S Model 94 ベストセレクトヒッツ 3時間12本中出し : 上原結衣
|
||||
SMBD-93__2014-03-18__S Model 93 巨乳セールスレディ生ハメ中出し営業 : 河西真琴
|
||||
SMBD-95__2014-02-28__S Model 95 グラマーモデルの波打つボイン : 尾上若葉
|
||||
SMBD-92__2014-02-25__S Model 92 爆乳絶倫美女と生姦中出し性交 : 小早川怜子
|
||||
SMBD-91__2014-01-16__S Model 91 美乳ギャルと中出し性交 : 木村夏菜子
|
||||
SMBD-90__2013-12-27__S Model 90 中出し3時間 絶頂SELECTION : 沖ひとみ
|
||||
SMBD-88__2013-12-13__S Model 88 美少女と生姦中出しFUCK : あいださくら
|
||||
SMBD-89__2013-11-21__S Model 89 中出し3時間 絶頂SELECTION : みづなれい
|
||||
SMBD-87__2013-11-14__S Model 87 ムチムチお姉ちゃんの中出し肉感天国 : 本真ゆり
|
||||
SMBD-86__2013-10-24__S Model 86 ドッキドッキの温泉デート! : 椎名みくる
|
||||
SMBD-85__2013-09-26__S Model 85 エロ可愛ギャル 灼熱生姦中出し : Hikari
|
||||
SMBD-84__2013-08-30__S Model 84 肉感ボディ!搾りファック!! : 新山かえで
|
||||
SMBD-83__2013-08-22__S Model 83 初撮り美少女中出しSEX : 若槻ゆうか
|
||||
SMBD-43__2013-08-21__S Model 43 : 伊東かんな
|
||||
SMBD-41__2013-08-16__S Model 41 : 矢吹杏
|
||||
SMBD-82__2013-08-13__S Model 82 : まりか 総集編 DX 3時間
|
||||
SMBD-38__2013-08-12__S Model 38 : 若菜亜衣
|
||||
SMBD-39__2013-08-12__S Model 39 : 彩音心愛
|
||||
SMBD-81__2013-08-08__S Model 81 島娘の情熱青姦 : 一ノ瀬ルカ
|
||||
SMBD-15__2013-08-01__S Model 15 : 直嶋あい
|
||||
SMBD-30__2013-07-31__S Model 30 : 愛内梨花
|
||||
SMBD-32__2013-07-31__S Model 32 : 橘ひなた
|
||||
SMBD-28__2013-07-30__S Model 28 : 直美めい
|
||||
SMBD-14__2013-07-04__S Model 14 : 羽月希
|
||||
SMBD-80__2013-06-27__S Model 80 GLAMOROUS 総集編3時間 : 麻生めい, 春日由衣, 上原結衣, 希咲エマ, まりか, 総勢18名
|
||||
SMBD-79__2013-06-25__S Model 79 ~めちゃカワ娘。中出しご奉仕セックス~ : 日向優梨
|
||||
SMBD-12__2013-06-25__S Model 12 : 原明奈
|
||||
SMBD-09__2013-05-30__S Model 09 : 花井メイサ
|
||||
SMBD-01__2013-05-28__S Model 01 : 杏堂なつ
|
||||
SMBD-03__2013-05-28__S Model 03 : 大塚咲
|
||||
SMBD-77__2013-05-20__S Model 77 ~オフィスレディーの裏に秘めた性癖~ : 上原結衣
|
||||
SMBD-29__2013-05-09__S Model 29 : 白咲舞
|
||||
SMBD-78__2013-04-30__S Model 78 Supernova 18 Hot Girls 3時間総集編 / 総勢18名
|
||||
SMBD-76__2013-03-21__S Model 76 ~素人ムスメのアクメ姿~ : 園咲杏里 (HD)
|
||||
SMBD-48__2013-03-04__S Model 48 : あざみねね (HD)
|
||||
SMBD-57__2013-03-04__S Model 57 : 彩佳リリス (HD)
|
||||
SMBD-75__2013-02-19__S Model 75 ~家出っこに生姦中出し制裁に!~ : 鏑木みゆ (HD)
|
||||
SMBD-34__2013-02-15__S Model 34 : 黒木アリサ (HD)
|
||||
SMBD-44__2013-02-12__S Model 44 超天然グラマラスBody : 小日向みく (HD)
|
||||
SMBD-33__2013-02-11__S Model 33 : 南野あかり (HD)
|
||||
SMBD-47__2013-02-08__S Model 47 : 荒木ありさ (HD)
|
||||
SMBD-74__2013-02-05__S Model 74 上京娘 パイパン!真性中出し!三穴輪姦!: 大葉さくら (HD)
|
||||
SMBD-31__2013-02-05__S Model 31 : 真田春香 (HD)
|
||||
SMBD-26__2013-02-04__S Model 26 : 相葉りか (HD)
|
||||
SMBD-73__2013-01-17__S Model 73 ~桃尻姫中出しSEX~ : みづなれい (HD)
|
||||
SMBD-27__2013-01-09__S Model 27 : ももかりん (HD)
|
||||
SMBD-72__2013-01-03__S Model 72 : 秋元まゆ花 総集編 DX 3時間 (HD)
|
||||
SMBD-71__2012-12-27__S Model 71 ~開放的な青姦24連発!!!~ : 秋元まゆ花, 前田陽菜, 遥めぐみ, 真木今日子, 菜々瀬ゆい, 京野ななか (HD)
|
||||
SMBD-23__2012-12-18__S Model 23 : 愛原つばさ (HD)
|
||||
SMBD-20__2012-12-17__S Model 20 : 天宮まりる (HD)
|
||||
SMBD-22__2012-12-17__S Model 22 : 青山さつき (HD)
|
||||
SMBD-18__2012-12-14__S Model 18 : 青空小夏 (HD)
|
||||
SMBD-16__2012-12-13__S Model 16 : 夏原カレン (HD)
|
||||
SMBD-70__2012-12-10__S Model 70 ~衝撃の無修正中出しデビュー!~ : 大島あいる (HD)
|
||||
SMBD-37__2012-12-05__S Model 37 : 柏木ルル (HD)
|
||||
SMBD-36__2012-12-04__S Model 36 : 桜花エナ (HD)
|
||||
SMBD-69__2012-11-08__S Model 69: 前田陽菜 総集編 DX 3時間 前田陽菜 (HD)
|
||||
SMBD-68__2012-10-19__S Model 68 ~敏感美少女が乱れ犯り~ : 椎名ひかる (HD)
|
||||
SMBD-45__2012-10-08__S Model 45 : 渋谷系イマドキ娘中出しファック! : 原純那 (HD)
|
||||
SMBD-46__2012-10-01__S Model 46 : 上条めぐ (HD)
|
||||
SMBD-67__2012-09-25__S Model 67 極上美巨乳娘生中出し悶え狂う : 沙藤ユリ (HD)
|
||||
SMBD-66__2012-09-20__S Model 66 : 真木今日子 総集編 DX 3時間 (HD)
|
||||
SMBD-65__2012-09-18__S Model 65 : 片桐えりりか 総集編 DX 3時間 (HD)
|
||||
SMBD-64__2012-09-10__S Model 64 ~ロリーマンJK 学園性交~ : さくら萠 (HD)
|
||||
SMBD-50__2012-08-22__S Model 50 : 大海まりん (HD)
|
||||
SMBD-63__2012-08-17__S Model 63 ~ドしろーと娘旅先ゲット~ : 菜々瀬ゆい (HD)
|
||||
SMBD-54__2012-08-15__S Model 54 : 篠乃なつき (HD)
|
||||
SMBD-53__2012-08-15__S Model 53 : 篠めぐみ (HD)
|
||||
SMBD-52__2012-08-10__S Model 52 パイパン少女アナルレンタル : 葵みゆ (HD)
|
||||
SMBD-51__2012-08-10__S Model 51 女子○生連れ込み乱交ファック : 杏樹紗奈 (HD)
|
||||
SMBD-60__2012-08-06__S Model 60 ~海の娼婦挑発ボディ~ : 遥めぐみ (HD)
|
||||
SMBD-59__2012-08-06__S Model 59 青姦中出しアクメ : 真木今日子 (HD)
|
||||
SMBD-56__2012-08-02__S Model 56 : 赤西ケイ (HD)
|
||||
SMBD-62__2012-08-02__S Model 62 ~悩殺女教師の生チン漁り~ : かすみゆら (HD)
|
||||
SMBD-61__2012-07-23__S Model 61 ~南国美少女生中解禁~ : 秋元まゆ花(愛花沙也)(HD)
|
||||
SMBD-58__2012-05-31__S Model 58 : あいりみく 総集編 DX 3時間 (HD)
|
||||
SMBD-55__2012-05-04__S Model 55 : 長澤あずさ 総集編 DX 3時間 (HD)
|
||||
SMBD-17__2010-11-16__S Model 17 : 武藤クレア : Part.1 (HD)
|
||||
SMBD-002s__2010-04-16__ユリア nude fairy (ブルーレイディスク)
|
||||
SMBD-04__2009-12-02__S Model 04 : 音羽かなで
|
||||
SMBD-006__2009-05-09__全裸族
|
||||
SMBD-007__2004-07-15__裸族 VOL.6 相楽はるみ
|
||||
SMBD-005__2004-05-03__裸族 Vol.5【きくま聖】
|
||||
SMBD-004__2004-05-01__裸族 Vol.4【星川みなみ】
|
||||
SMBD-003__2004-02-19__SENZURI MASTER 彩名杏子
|
||||
SMBD-002__2003-12-04__SENZURI MASTER 朝比奈ゆい
|
||||
SMBD-001__2003-08-03__SENZURI MASTER 春菜まい
|
||||
SMBD-40-1__2012-01-23__S Model 40 : AIKA Part.1 (HD)
|
||||
SMBD-35-1__2011-09-17__S Model 35 : 沖田はづき : Part.1 (HD)
|
||||
SMBD-25-1__2011-03-11__S Model 25 僕と妹の禁断ロマンス: 葵ぶるま : Part.1 (HD)
|
||||
SMBD-24-1__2011-03-03__S Model 24 : 朝倉ことみ : Part.1 (HD)
|
||||
SMBD-19-1__2010-11-24__S Model 19 : 羽月希 : Part.1 (HD)
|
||||
SMBD-08-1__2010-08-11__S Model 08 : SARA : Part.1 (HD)
|
||||
SMBD-13-1__2010-08-07__S Model 13 : 真中ちひろ : Part.1 (HD)
|
||||
SMBD-07-1__2010-03-22__S Model 07 : Part.1 (HD)
|
||||
SMBD-06-1__2010-02-24__S Model 06 : Part-1 (HD)
|
||||
SMBD-02-1__2009-10-12__S Model 02 : Part-I (HD)
|
||||
173
javdb/javdb_tmp/SKYHD_all.txt
Normal file
173
javdb/javdb_tmp/SKYHD_all.txt
Normal file
@ -0,0 +1,173 @@
|
||||
SKYHD-068__2023-10-06__スカイエンジェル ブルー Vol.68: 篠めぐみ
|
||||
SKYHD-074__2023-10-06__スカイエンジェル ブルー Vol.74 : 小坂めぐる
|
||||
SKYHD-073__2023-10-06__スカイエンジェル ブルー Vol.73 : ゆずき鈴
|
||||
SKYHD-050__2023-10-01__スカイエンジェル ブルー Vol.50 : 葉山
|
||||
SKYHD-051__2023-09-29__スカイエンジェル ブルー Vol.51 : 篠めぐみ
|
||||
SKYHD-061__2023-09-29__スカイエンジェル ブルー Vol.61: 蒼木マナ
|
||||
SKYHD-052__2023-09-29__スカイエンジェル ブルー Vol.52 : 卯月麻衣
|
||||
SKYHD-059__2023-09-29__スカイエンジェル ブルー Vol.59 : 櫻井ともか
|
||||
SKYHD-017__2023-09-28__スカイエンジェル ブルー Vol.17 : 日之内優
|
||||
SKYHD-158__2017-10-27__スカイエンジェル ブルー Vol.150 : 長谷川美裸
|
||||
SKYHD-154__2017-10-26__スカイエンジェル ブルー Vol.146 : 堀口真希
|
||||
SKYHD-145__2017-10-26__スカイハイ熟女プレミアム Vol.4 : 朝桐光, 江波りゅう, 波多野結衣, 横山みれい, 総勢12名
|
||||
SKYHD-159__2016-02-11__スカイエンジェル ブルー Vol.151 : 小泉まり
|
||||
SKYHD-157__2016-02-02__スカイエンジェル ブルー Vol.149 : 逢沢はるか
|
||||
SKYHD-156__2016-01-28__スカイエンジェル ブルー Vol.148 : 小早川怜子
|
||||
SKYHD-155__2016-01-26__スカイエンジェル ブルー Vol.147 : 長谷川夏樹
|
||||
SKYHD-160__2015-12-28__スカイエンジェル ブルー Vol.152 : 麻生希
|
||||
SKYHD-153__2015-12-15__スカイエンジェル ブルー Vol.145 : 美咲結衣, 加藤朱里
|
||||
SKYHD-152__2015-11-26__スカイエンジェル ブルー Vol.144 : 三浦春佳
|
||||
SKYHD-151__2015-11-12__スカイエンジェル ブルー Vol.143 : 鈴木愛
|
||||
SKYHD-150__2015-10-29__スカイエンジェル ブルー Vol.142 : 藤井沙紀
|
||||
SKYHD-149__2015-10-27__スカイエンジェル ブルー Vol.141 : 矢田ちえみ
|
||||
SKYHD-148__2015-07-28__スカイエンジェル ブルー Vol.140 : 一ノ瀬麗花
|
||||
SKYHD-147__2015-07-16__スカイエンジェル ブルー Vol.139 : 櫻木梨乃
|
||||
SKYHD-146__2015-07-16__スカイエンジェル ブルー Vol.138 : 音羽レオン
|
||||
SKYHD-144__2015-07-14__スカイエンジェル ブルー Vol.137 : 桜井心菜
|
||||
SKYHD-142__2015-07-09__スカイエンジェル ブルー Vol.135 : 沖野るり
|
||||
SKYHD-143__2015-07-09__スカイエンジェル ブルー Vol.136 : 北島玲
|
||||
SKYHD-141__2015-02-26__スカイエンジェル ブルー Vol.134 : 芦川芽依
|
||||
SKYHD-140__2015-02-12__スカイエンジェル ブルー Vol.133 : 西川りおん
|
||||
SKYHD-127__2015-01-22__Double Penetrations EX 12Girls 180mins : あずみ恋, 中野ありさ, 朝桐光
|
||||
SKYHD-108__2015-01-14__スカイハイ熟女プレミアム Vol.3 : 横山みれい, 波多野結衣, 鈴木さとみ, 江波りゅう, 総勢18名
|
||||
SKYHD-139__2014-11-11__スカイエンジェル ブルー Vol.132 : 百合川さら
|
||||
SKYHD-138__2014-11-04__スカイエンジェル ブルー Vol.131 : 琴吹まりあ
|
||||
SKYHD-137__2014-10-30__スカイエンジェル ブルー 濃縮 : 波多野結衣
|
||||
SKYHD-136__2014-10-28__スカイエンジェル ブルー Vol.130 : 佐々木絵美
|
||||
SKYHD-135__2014-10-23__スカイエンジェル ブルー Vol.129 : 夢実あくび
|
||||
SKYHD-134__2014-10-21__スカイエンジェル ブルー Vol.128 : 皆月もか
|
||||
SKYHD-133__2014-10-16__スカイエンジェル ブルー Vol.127 : 西園寺れお
|
||||
SKYHD-132__2014-09-04__スカイエンジェル ブルー Vol.126 : 新山かえで
|
||||
SKYHD-131__2014-08-28__スカイエンジェル ブルー Vol.125 : みやび真央
|
||||
SKYHD-130__2014-08-14__スカイエンジェル ブルー Vol.124 : 舞咲みくに
|
||||
SKYHD-129__2014-08-12__スカイエンジェル ブルー Vol.123 : 都盛星空
|
||||
SKYHD-128__2014-08-04__スカイエンジェル ブルー Vol.122 : 小司あん
|
||||
SKYHD-126__2014-07-10__スカイエンジェル ブルー Vol.121 : 小泉真希
|
||||
SKYHD-123__2014-06-12__スカイエンジェル プラス 4 : 愛乃なみ, さくらあきな, 綾瀬ルナ
|
||||
SKYHD-124__2014-06-12__スカイエンジェル ブルー Vol.119 : 古瀬玲
|
||||
SKYHD-122__2014-06-10__スカイエンジェル ブルー Vol.118 : 櫻井ともか
|
||||
SKYHD-121__2014-06-05__スカイエンジェル ブルー Vol.117 : 高橋さやか
|
||||
SKYHD-120__2014-05-29__スカイエンジェル ブルー Vol.116 : 愛乃なみ
|
||||
SKYHD-119__2014-05-27__スカイエンジェル ブルー Vol.115 : さくらあきな
|
||||
SKYHD-118__2014-05-20__スカイエンジェル ブルー Vol.114 : 羽川るな
|
||||
SKYHD-115__2014-05-13__スカイエンジェル ブルー Vol.112 : 江波りゅう
|
||||
SKYHD-116__2014-04-03__スカイエンジェル プラス 3 : あずみ恋, 武井麻希, 椎名みゆ
|
||||
SKYHD-125__2014-04-01__レッドホットジャム HD 1 極上泡姫物語♥ : 上原保奈美
|
||||
SKYHD-114__2014-03-27__スカイエンジェル プラス 2 : 江波りゅう, 松本まりな, 志村玲子
|
||||
SKYHD-113__2014-03-20__スカイエンジェル プラス : 上原保奈美, 中野ありさ, 星咲優菜
|
||||
SKYHD-117__2014-03-06__スカイエンジェル ブルー Vol.113 : 古瀬玲
|
||||
SKYHD-112__2014-03-04__スカイエンジェル ブルー Vol.111 : 藤北彩香, 春本優菜, Maika, 宮間葵
|
||||
SKYHD-111__2014-02-25__スカイエンジェル ブルー Vol.110 : 沖ひとみ
|
||||
SKYHD-110__2014-02-20__スカイエンジェル ブルー Vol.109 : 滝川ソフィア
|
||||
SKYHD-109__2014-02-18__スカイエンジェル ブルー Vol.108 : 藤北彩香, Maika, 宮間葵, 春本優菜
|
||||
SKYHD-107__2014-02-11__スカイエンジェル ブルー Vol.107 : 江波りゅう
|
||||
SKYHD-105__2014-02-06__スカイエンジェル ブルー Vol.105 : 上原保奈美
|
||||
SKYHD-104__2014-01-29__スカイエンジェル ブルー Vol.104 : 波多野結衣
|
||||
SKYHD-103__2014-01-28__スカイエンジェル ブルー Vol.103 : 綾瀬ルナ
|
||||
SKYHD-102__2014-01-24__スカイエンジェル ブルー Vol.102 : あずみ恋
|
||||
SKYHD-101__2013-10-29__スカイエンジェル ブルー Vol.101 : 志村玲子
|
||||
SKYHD-100__2013-10-15__スカイエンジェル ブルー Vol.100 : 中野ありさ
|
||||
SKYHD-106__2013-10-07__スカイエンジェル ブルー Vol.106 : 松本まりな
|
||||
SKYHD-099__2013-09-30__スカイエンジェル ブルー Vol.99 : 星咲優菜
|
||||
SKYHD-094__2013-07-23__スカイエンジェル ブルー Vol.94 : 鈴木さとみ
|
||||
SKYHD-098__2013-07-16__スカイエンジェル ブルー Vol.98 : 木村つな
|
||||
SKYHD-093__2013-07-09__スカイエンジェル ブルー Vol.93 : 北条麻妃
|
||||
SKYHD-095__2013-07-08__スカイエンジェル ブルー Vol.95 : 愛内希
|
||||
SKYHD-092__2013-07-03__スカイエンジェル ブルー Vol.92 : 岩佐あゆみ
|
||||
SKYHD-097__2013-04-25__スカイエンジェル ブルー Vol.97 : このは (HD)
|
||||
SKYHD-091__2013-04-25__スカイエンジェル ブルー Vol.91 : 木村つな (HD)
|
||||
SKYHD-090__2013-04-09__スカイエンジェル ブルー Vol.90 : 篠めぐみ (HD)
|
||||
SKYHD-096__2013-04-01__スカイエンジェル ブルー Vol.96 : あずみ恋 (HD)
|
||||
SKYHD-088__2013-03-26__スカイエンジェル ブルー Vol.88 : 中野ありさ (HD)
|
||||
SKYHD-083__2013-01-22__スカイエンジェル ブルー Vol.83 : このは (HD)
|
||||
SKYHD-087__2013-01-22__スカイエンジェル ブルー Vol.87 : 波多野結衣 (HD)
|
||||
SKYHD-089__2012-12-13__スカイエンジェル ブルー Vol.89 : 大倉彩音 (HD)
|
||||
SKYHD-085__2012-11-29__スカイエンジェル ブルー Vol.85 : 朝倉ことみ (HD)
|
||||
SKYHD-086__2012-11-22__スカイエンジェル ブルー Vol.86 : 杏樹紗奈 (HD)
|
||||
SKYHD-082__2012-11-08__スカイエンジェル ブルー Vol.82 : 愛内希 (HD)
|
||||
SKYHD-084__2012-11-06__スカイエンジェル ブルー Vol.84 : 中野ありさ (HD)
|
||||
SKYHD-077__2012-11-01__スカイエンジェル ブルー Vol.77 : 杏樹紗奈 (HD)
|
||||
SKYHD-080__2012-10-25__スカイエンジェル ブルー Vol.80 ~ザー汁搾り取るお下劣家政婦 ~ : 横山みれい (HD)
|
||||
SKYHD-079__2012-10-23__スカイエンジェル ブルー Vol.79 ~Anal Pet ~ : 星野あいか (HD)
|
||||
SKYHD-081__2012-10-18__スカイエンジェル ブルー Vol.81 : 前田陽菜 (HD)
|
||||
SKYHD-078__2012-10-09__スカイエンジェル ブルー Vol.78 : 朝桐光 (HD)
|
||||
SKYHD-076__2012-10-04__スカイエンジェル ブルー Vol.76 : 篠めぐみ (HD)
|
||||
SKYHD-075__2012-10-02__スカイエンジェル ブルー Vol.75 好色妻降臨 : 沙織 (HD)
|
||||
SKYHD-070__2012-06-27__スカイエンジェル ブルー Vol.70: 松すみれ (HD)
|
||||
SKYHD-069__2012-06-27__スカイエンジェル ブルー Vol.69: 福山さやか (HD)
|
||||
SKYHD-072__2012-06-27__スカイエンジェル ブルー Vol.72: 羽月希 (HD)
|
||||
SKYHD-071__2012-06-27__スカイエンジェル ブルー Vol.71: 朝桐光 (HD)
|
||||
SKYHD-064__2012-06-26__スカイエンジェル ブルー Vol.64: 麻倉まみ (HD)
|
||||
SKYHD-065__2012-06-26__スカイエンジェル ブルー Vol.65: 星野あいか (HD)
|
||||
SKYHD-067__2012-06-26__スカイエンジェル ブルー Vol.67: 朝田ばなな (HD)
|
||||
SKYHD-066__2012-06-26__スカイエンジェル ブルー Vol.66: しずく (HD)
|
||||
SKYHD-063__2012-06-01__スカイエンジェル ブルー Vol.63: 水玉レモン (HD)
|
||||
SKYHD-062__2012-06-01__スカイエンジェル ブルー Vol.62: あいりみく (HD)
|
||||
SKYHD-060__2012-05-31__スカイエンジェル ブルー Vol.60: 荒木瞳 (HD)
|
||||
SKYHD-057__2012-05-31__スカイエンジェル ブルー Vol.57 : 相内しおり (HD)
|
||||
SKYHD-058__2012-05-31__スカイエンジェル ブルー Vol.58 : 詩しおり (HD)
|
||||
SKYHD-074__2012-05-03__スカイエンジェル ブルー Vol.74 : 小坂めぐる (ブルーレイディスク版)
|
||||
SKYHD-073__2012-05-02__スカイエンジェル ブルー Vol.73 : ゆずき鈴 (ブルーレイディスク版)
|
||||
SKYHD-068__2011-12-07__スカイエンジェル ブルー Vol.68: 篠めぐみ
|
||||
SKYHD-047__2011-11-03__スカイエンジェル ブルー Vol.47 : AYAMI (HD)
|
||||
SKYHD-037__2011-09-01__スカイエンジェル ブルー Vol.37 : 宮澤ケイト (HD)
|
||||
SKYHD-049__2011-09-01__スカイエンジェル ブルー Vol.49 : 夏樹カオル (HD)
|
||||
SKYHD-035__2011-08-24__スカイエンジェル ブルー Vol.35 : 三浦加奈 (HD)
|
||||
SKYHD-032__2011-08-19__スカイエンジェル ブルー Vol.32 : 早川瀬里奈 (HD)
|
||||
SKYHD-031__2011-08-19__スカイエンジェル ブルー Vol.31 : 檸衣 (HD)
|
||||
SKYHD-024__2011-08-18__スカイエンジェル ブルー Vol.24 : 吉原ミィナ (HD)
|
||||
SKYHD-025__2011-08-18__スカイエンジェル ブルー Vol.25 : KAREN (HD)
|
||||
SKYHD-023__2011-08-18__スカイエンジェル ブルー Vol.23 : 水澤りの (HD)
|
||||
SKYHD-023__2011-08-18__スカイエンジェル ブルー Vol.23 : 水澤りの (HD)
|
||||
SKYHD-027__2011-08-18__スカイエンジェル ブルー Vol.27 : 葉月みりあ (HD)
|
||||
SKYHD-016__2011-08-16__スカイエンジェル ブルー Vol.16 : 花井カノン (HD)
|
||||
SKYHD-021__2011-08-14__スカイエンジェル ブルー Vol.21 : 小泉梨菜 (HD)
|
||||
SKYHD-014__2011-08-02__スカイエンジェル ブルー Vol.14 : 桜庭彩 : Part.1 (HD)
|
||||
SKYHD-015__2011-08-02__スカイエンジェル ブルー Vol.15 : 伊藤青葉 : Part.1 (HD)
|
||||
SKYHD-013__2011-07-20__スカイエンジェル ブルー Vol.13 : RINKA : Part.1 (HD)
|
||||
SKYHD-011__2011-07-20__スカイエンジェル ブルー Vol.11 : まひるゆう : Part.1 (HD)
|
||||
SKYHD-009__2011-07-20__スカイエンジェル ブルー Vol.9 : あすかりの : Part.1 (HD)
|
||||
SKYHD-061__2011-07-15__スカイエンジェル ブルー Vol.61: 蒼木マナ (ブルーレイディスク版)
|
||||
SKYHD-007__2011-07-13__スカイエンジェル ブルー Vol.7 : Hana : Part.1 (HD)
|
||||
SKYHD-008__2011-07-13__スカイエンジェル ブルー Vol.8 : 水川アンナ : Part.1 (HD)
|
||||
SKYHD-006__2011-06-24__スカイエンジェル ブルー Vol.6 : 倉知莉花 : Part.1 (HD)
|
||||
SKYHD-004__2011-06-24__スカイエンジェル ブルー Vol.4 : 桜井梨花 : Part.1 (HD)
|
||||
SKYHD-005__2011-06-24__スカイエンジェル ブルー Vol.5 : 相崎琴音 : Part.1 (HD)
|
||||
SKYHD-001__2011-06-14__スカイエンジェル ブルー Vol.1 : 宮澤ケイト : Part.1 (HD)
|
||||
SKYHD-002__2011-06-14__スカイエンジェル ブルー Vol.2 : 早川瀬里奈 : Part.1 (HD)
|
||||
SKYHD-003__2011-06-14__スカイエンジェル ブルー Vol.3 : なつみ: Part.1 (HD)
|
||||
SKYHD-059__2011-06-08__スカイエンジェル ブルー Vol.59 : 櫻井ともか (ブルーレイディスク版)
|
||||
SKYHD-029__2011-06-02__スカイエンジェル ブルー Vol.29 : 波多野結衣 : Part.1 (HD)
|
||||
SKYHD-046__2011-06-01__スカイエンジェル ブルー Vol.46 : 小向まな美 : Part.1 (HD)
|
||||
SKYHD-048__2011-06-01__スカイエンジェル ブルー Vol.48 : 鈴木さとみ : Part.1 (HD)
|
||||
SKYHD-050__2011-06-01__スカイエンジェル ブルー Vol.50 : 葉山潤子 : Part.1 (HD)
|
||||
SKYHD-034__2011-06-01__スカイエンジェル ブルー Vol.34 : 北条麻妃 : Part.1 (HD)
|
||||
SKYHD-010__2011-04-28__スカイエンジェル ブルー Vol.10 : 栗栖エリカ : Part.1 (HD)
|
||||
SKYHD-055__2011-04-14__スカイエンジェル ブルー Vol.55 : 広田さくら (ブルーレイディスク版)
|
||||
SKYHD-056__2011-03-25__スカイエンジェル ブルー Vol.56 : 鈴木さとみ (ブルーレイディスク版)
|
||||
SKYHD-033__2011-03-21__スカイエンジェル ブルー Vol.33 : 桃瀬ひかる : Part.1 (HD)
|
||||
SKYHD-054__2011-03-10__スカイエンジェル ブルー Vol.54 : 早見るり (ブルーレイディスク版)
|
||||
SKYHD-012__2011-03-02__スカイエンジェル ブルー Vol.12 : 桜井りあ : Part.1 (HD)
|
||||
SKYHD-022__2011-02-21__スカイエンジェル ブルー Vol.22 : 小澤マリア : Part.1 (HD)
|
||||
SKYHD-019__2011-02-07__スカイエンジェル ブルー Vol.19 : 遥めい : part.1 (HD)
|
||||
SKYHD-038__2011-02-04__スカイエンジェル ブルー Vol.38 : 石原ちか : Part.1 (HD)
|
||||
SKYHD-053__2011-02-02__スカイエンジェル ブルー Vol.53 : 井川ゆい : Part.1 (HD)
|
||||
SKYHD-040__2011-01-21__スカイエンジェル ブルー Vol.40 : 鈴木さとみ : Part.1 (HD)
|
||||
SKYHD-018__2011-01-20__スカイエンジェル ブルー Vol.18 : 石川鈴華 : Part.1 (HD)
|
||||
SKYHD-042__2011-01-12__スカイエンジェル ブルー Vol.42 : 大島りこ : Part.1 (HD)
|
||||
SKYHD-043__2011-01-11__スカイエンジェル ブルー Vol.43 : 広瀬藍子 : Part.1 (HD)
|
||||
SKYHD-052__2011-01-04__スカイエンジェル ブルー Vol.52 : 卯月麻衣 (ブルーレイディスク版)
|
||||
SKYHD-036__2011-01-03__スカイエンジェル ブルー Vol.36 : 春咲あずみ : Part.1 (HD)
|
||||
SKYHD-041__2010-12-29__スカイエンジェル ブルー Vol.41 : 真白希実 : Part.1 (HD)
|
||||
SKYHD-051__2010-12-24__スカイエンジェル ブルー Vol.51 : 篠めぐみ
|
||||
SKYHD-045__2010-12-22__スカイエンジェル ブルー Vol.45 : 北条麻妃 : Part.1 (HD)
|
||||
SKYHD-044__2010-12-15__スカイエンジェル ブルー Vol.44 : 原小雪 : Part.1 (HD)
|
||||
SKYHD-026__2010-11-30__スカイエンジェル ブルー Vol.26 : 七瀬ジュリア : Part.1 (HD)
|
||||
SKYHD-039__2010-11-18__スカイエンジェル ブルー Vol.39 : 波多野結衣 : Part.1 (HD)
|
||||
SKYHD-028__2010-11-02__スカイエンジェル ブルー Vol.28 : KEI : Part.1 (HD)
|
||||
SKYHD-020__2010-10-15__スカイエンジェル ブルー Vol.20 : 原小雪 : Part.1 (HD)
|
||||
SKYHD-017__2009-07-02__スカイエンジェル ブルー Vol.17 (ブルーレイディスク版) : 日之内優, 桜井梨花
|
||||
SKYHD-055-1__2011-11-21__スカイエンジェル ブルー Vol.55 : 広田さくら : Part.1 (HD)
|
||||
SKYHD-054-1__2011-11-21__スカイエンジェル ブルー Vol.54 : 早見るり : Part.1 (HD)
|
||||
TeamSkeet X Bang__2023-09-16__Sky Has No Limits
|
||||
KYHD-001__2006-10-02__綺麗で優しくてセクシーな人妻は好きですか?4時間
|
||||
220
javdb/javdb_tmp/SMBD_all.txt
Normal file
220
javdb/javdb_tmp/SMBD_all.txt
Normal file
@ -0,0 +1,220 @@
|
||||
SMBD-05__2023-12-09__S Model 05 : ステファニー
|
||||
SMBD-180__2017-11-17__S Model 180 美人OL愛欲白書 : 生島涼
|
||||
SMBD-179__2017-11-01__S Model 179 恋オチ : 神田るな
|
||||
SMBD-178__2017-08-21__S Model 178 白石真琴引退ドッキリSP : 白石真琴
|
||||
SMBD-176__2017-06-15__S Model 176 ザーメン中毒美少女生ハメぶっかけ : 水島にな
|
||||
SMBD-175__2017-06-13__S Model 175 初彼女を気持ちよくさせるテクニックを教えてください! : 華城まや
|
||||
SMBD-174__2017-05-18__S Model 174 顔面ザーメン漬け : 愛乃まほろ
|
||||
SMBD-173__2017-05-09__S Model 173 DEBUT : 生島涼
|
||||
SMBD-172__2017-04-27__S Model 172 オフィスレディーの社内交尾 : 丘咲エミリ
|
||||
SMBD-171__2017-04-04__S Model 171 総決算スーパーモデルメディア厳選超絶性技を持つ女BEST4 3HRS : 尾上若葉, 立川理恵, 前田かおり, 優希まこと
|
||||
SMBD-170__2017-02-03__S Model 170 おもてなし庵 : 七瀬リナ
|
||||
SMBD-169__2017-01-20__S Model 169 純真な黒髪乙女JK生中出し : 西野なこ
|
||||
SMBD-168__2017-01-16__S Model 168 ボクだけのご奉仕メイド : 加藤えま
|
||||
SMBD-167__2017-01-06__S Model 167 出会って2.5秒で合体 : ももき希
|
||||
SMBD-166__2017-01-03__S Model 166 某大手商社勤務のストレス発散SEX : 相本みき
|
||||
SMBD-165__2016-12-19__S Model 165 DEBUT : 綾名レナ
|
||||
SMBD-164__2016-12-01__S Model 164 DEBUT : 美波ゆさ
|
||||
SMBD-163__2016-11-18__S Model 163 DEBUT : 加藤えま
|
||||
SMBD-162__2016-09-23__S Model 162 エロすぎる濃厚中出し交尾 : 水谷心音
|
||||
SMBD-161__2016-08-26__S Model 161 パコパコパーティ : 成宮はるあ, 希美かんな, 美月優芽, 碧木凛, 一条りおん, 西条沙羅
|
||||
SMBD-160__2016-07-21__S Model 160 超高級ソープ嬢 : 西川ゆい
|
||||
SMBD-159__2016-06-07__S Model 159 Ero Body OL裏事情 : こころ
|
||||
SMBD-158__2016-05-26__S Model 158 巷で話題になっている大物女優達ゴージャスセレクト 10Girls 3Hours : 篠田あゆみ, みほの, 西川ゆい, 総勢10名
|
||||
SMBD-157__2016-05-04__S Model 157 OL新入社員のお仕事 : あかね杏珠
|
||||
SMBD-156__2016-04-18__S Model 156 ガクガク野外露出SEX連続中出し : 有賀ゆあ
|
||||
SMBD-155__2016-04-11__S Model 155 鬼イカセベスト3時間11名大絶頂スペシャル : 波多野結衣, 藤井なな, 翼みさき, 西川ちひろ, 総勢11名
|
||||
SMBD-154__2016-03-25__S Model 154 Non-Stop! 余裕で三連発できちゃう極上の女優たち7名3時間 : 篠田あゆみ, 星野千紗, ももか, 総勢7名
|
||||
SMBD-153__2016-03-04__S Model 153 新人社員のお仕事 : 島崎結衣
|
||||
SMBD-152__2016-02-29__S Model 152 露出デート アウトドアで潮吹き放題 : 鈴羽みう
|
||||
SMBD-151__2016-02-09__S Model 151 ファン感謝ツアー : 篠田あゆみ
|
||||
SMBD-150__2016-01-21__S Model 150 秘密の放課後エッチタイム : 碧木凛
|
||||
SMBD-149__2016-01-20__S Model 149 絶対抜ける保証付きBEST版 3時間総勢17人出演! : 鈴羽みう, 真野ゆりあ, 宮崎愛莉, 総勢17人
|
||||
SMBD-148__2016-01-11__S Model 148 世界最高級ソープへようこそ : 杏
|
||||
SMBD-147__2015-12-21__S Model 147 余裕で三連発できちゃう極上の女優 : 星野千紗
|
||||
SMBD-146__2015-12-18__S Model 146 Eros House 何度も激しくイキまくり昇天だ! : 大島ゆず奈
|
||||
SMBD-145__2015-12-03__S Model 145 夫婦喧嘩で家出してきた隣の奥さん : 立花美涼
|
||||
SMBD-144__2015-11-11__S Model 144 巨乳な清純 : 清水理紗
|
||||
SMBD-143__2015-11-04__S Model 143 連れ回し露出調教 : 楓ゆうか
|
||||
SMBD-142__2015-10-30__S Model 142 極上素人鬼イカセ : 藤井なな
|
||||
SMBD-141__2015-10-26__S Model 141 ミスキャンパス娘が性欲丸出し!! : 神尾舞
|
||||
SMBD-139__2015-09-28__S Model 139 女王のソープ : 宮崎愛莉
|
||||
SMBD-140__2015-09-18__S Model 140 純白美肌のエロお嬢様 連続中出し : 酒井ももか (ブルーレイディスク版)
|
||||
SMBD-138__2015-09-14__S Model 138 ギャルになって帰ってきた幼馴染 : 真野ゆりあ
|
||||
SMBD-137__2015-09-10__S Model 137 シェアハウスロリ乱交 : 海野空詩, 春山彩香, 南星愛
|
||||
SMBD-136__2015-08-26__S Model 136 永久保存版発売記念BEST 3HR : 大橋未久
|
||||
SMBD-135__2015-08-13__S Model 135 ファン感謝デー : 松本メイ
|
||||
SMBD-134__2015-08-03__S Model 134 amateur 盛り上がっちゃうドしろーと : 美星るか
|
||||
SMBD-133__2015-07-06__S Model 133 極上素人貸しちゃいます。 : 保坂えり
|
||||
SMBD-132__2015-07-01__S Model 132 親友の母親 : 黒木琴音
|
||||
SMBD-131__2015-06-26__S Model 131 制服が似合う黒髪清楚美女貸しちゃいます : 金井みお
|
||||
SMBD-130__2015-06-24__S Model 130 盛り上がっちゃう淫乱人妻 : 杉崎絵里奈
|
||||
SMBD-129__2015-06-01__S Model 129 共有少女 : 新山沙弥
|
||||
SMBD-128__2015-05-27__S Model 128 たちまち挿入! 視界侵入 ~後向いてたら入ってきた~ : 愛沢かりん
|
||||
SMBD-127__2015-05-15__S Model 127 史上最強の超人気女優12名 エクスタシー3時間DX : 前田かおり, 尾上若葉, 川村まや, 春日野結衣, 総勢12名
|
||||
SMBD-126__2015-05-07__S Model 126 清楚な妻の真実 : みづなれい
|
||||
SMBD-125__2015-04-30__S Model 125 働きウーマン ~予備校講師~ : 鈴森汐那
|
||||
SMBD-124__2015-04-20__S Model 124 アナルでハメ潮しちゃうド変態娘 : 辻井ゆう
|
||||
SMBD-123__2015-04-08__S Model 123 彼氏の願いは集団プレイ : 市川みのり
|
||||
SMBD-122__2015-03-20__S Model 122 ドジっ娘メイドのご奉仕 : 綾瀬なるみ
|
||||
SMBD-121__2015-03-16__S Model 121 美人すぎる社長秘書のお仕事 : 広瀬奈々美
|
||||
SMBD-120__2015-03-05__S Model 120 美人官能小説デビューへの道 : Ray
|
||||
SMBD-119__2015-03-04__S Model 119 ちっぱい感度チェック : 加藤麻耶
|
||||
SMBD-118__2015-02-23__S Model 118 「美人」清掃婦にチ〇コみせたらその場で一発スゲ~のヤレた : 秋野千尋
|
||||
SMBD-117__2015-02-11__S Model 117 出会って2.5秒で合体 x2 : 保坂えり
|
||||
SMBD-115__2015-01-08__S Model 115 恥辱の中出し授業 : 大橋未久
|
||||
SMBD-114__2014-12-30__S Model 114 働きウーマン ~新人ナースのおシゴト~ : 若菜みなみ
|
||||
SMBD-111__2014-12-26__S Model 111 コスプレロリ娘に大量発射 : 櫻木梨乃
|
||||
SMBD-116__2014-12-25__S Model 116 発情JK碧ちゃん!肉便器育成計画!! : 白咲碧
|
||||
SMBD-113__2014-12-23__S Model 113 変態露出狂に出会って2.5秒で合体 : 大澤美咲
|
||||
SMBD-112__2014-12-22__S Model 112 恥じらいオッパイGカップ巨乳猥褻娘コンプリートファイル 3HRS : 水城奈緒
|
||||
SMBD-110__2014-12-11__S Model 110 オーバーサイズBlack Fuck 激カワアナルメイド : 小西まりえ
|
||||
SMBD-109__2014-11-25__S Model 109 由美の家で撮影しちゃおう : 前田由美
|
||||
SMBD-108__2014-11-06__S Model S Model 108 真性中出し名場面集 : 佳苗るか
|
||||
SMBD-107__2014-10-17__S Model 107 女の子の部屋でガチファック : 堀口真希
|
||||
SMBD-106__2014-09-18__S Model 106 厳選売り上げベスト3RH TOP12 : 尾上若葉, 安城アンナ, 佳苗るか, 二宮ナナ, 総勢12名
|
||||
SMBD-105__2014-08-21__S Model 105 驚愕の爆ボディ生殺し : 水城奈緒
|
||||
SMBD-104__2014-08-07__S Model 104 最高に淫らな絶品ボディ : 阿久美々
|
||||
SMBD-103__2014-07-04__S Model 103 おさな妻が可愛すぎる : 永瀬里美
|
||||
SMBD-102__2014-06-30__S Model 102 放課後バイト 美少女の裏 : 柏倉玲華
|
||||
SMBD-100__2014-06-12__S Model 100 初めての中出しセックス : 紺野まりえ
|
||||
SMBD-101__2014-05-27__S Model 101 史上最強にエロい美少女20名コレクション 3HR : 北川瞳, 篠田ゆう, あいださくら, 総勢20名
|
||||
SMBD-99__2014-05-15__S Model 99 音羽レオン全てを曝け出し、生チンポの突きに本気で感じまくる! : 音羽レオン
|
||||
SMBD-98__2014-05-06__S Model 98 驚異の七連発特選保存版♥黒髪美乳娘 : みなみ愛梨
|
||||
SMBD-97__2014-04-15__S Model 97 105cm Iカップ。爆乳ナマ姦中出し激揺れ : 荒木りな
|
||||
SMBD-96__2014-04-09__S Model 96 ボクはかわいい妹の中で出す : 武井もな
|
||||
SMBD-94__2014-03-27__S Model 94 ベストセレクトヒッツ 3時間12本中出し : 上原結衣
|
||||
SMBD-93__2014-03-18__S Model 93 巨乳セールスレディ生ハメ中出し営業 : 河西真琴
|
||||
SMBD-95__2014-02-28__S Model 95 グラマーモデルの波打つボイン : 尾上若葉
|
||||
SMBD-92__2014-02-25__S Model 92 爆乳絶倫美女と生姦中出し性交 : 小早川怜子
|
||||
SMBD-91__2014-01-16__S Model 91 美乳ギャルと中出し性交 : 木村夏菜子
|
||||
SMBD-90__2013-12-27__S Model 90 中出し3時間 絶頂SELECTION : 沖ひとみ
|
||||
SMBD-88__2013-12-13__S Model 88 美少女と生姦中出しFUCK : あいださくら
|
||||
SMBD-89__2013-11-21__S Model 89 中出し3時間 絶頂SELECTION : みづなれい
|
||||
SMBD-87__2013-11-14__S Model 87 ムチムチお姉ちゃんの中出し肉感天国 : 本真ゆり
|
||||
SMBD-86__2013-10-24__S Model 86 ドッキドッキの温泉デート! : 椎名みくる
|
||||
SMBD-85__2013-09-26__S Model 85 エロ可愛ギャル 灼熱生姦中出し : Hikari
|
||||
SMBD-84__2013-08-30__S Model 84 肉感ボディ!搾りファック!! : 新山かえで
|
||||
SMBD-83__2013-08-22__S Model 83 初撮り美少女中出しSEX : 若槻ゆうか
|
||||
SMBD-43__2013-08-21__S Model 43 : 伊東かんな
|
||||
SMBD-41__2013-08-16__S Model 41 : 矢吹杏
|
||||
SMBD-82__2013-08-13__S Model 82 : まりか 総集編 DX 3時間
|
||||
SMBD-38__2013-08-12__S Model 38 : 若菜亜衣
|
||||
SMBD-39__2013-08-12__S Model 39 : 彩音心愛
|
||||
SMBD-81__2013-08-08__S Model 81 島娘の情熱青姦 : 一ノ瀬ルカ
|
||||
SMBD-15__2013-08-01__S Model 15 : 直嶋あい
|
||||
SMBD-30__2013-07-31__S Model 30 : 愛内梨花
|
||||
SMBD-32__2013-07-31__S Model 32 : 橘ひなた
|
||||
SMBD-28__2013-07-30__S Model 28 : 直美めい
|
||||
SMBD-14__2013-07-04__S Model 14 : 羽月希
|
||||
SMBD-80__2013-06-27__S Model 80 GLAMOROUS 総集編3時間 : 麻生めい, 春日由衣, 上原結衣, 希咲エマ, まりか, 総勢18名
|
||||
SMBD-79__2013-06-25__S Model 79 ~めちゃカワ娘。中出しご奉仕セックス~ : 日向優梨
|
||||
SMBD-12__2013-06-25__S Model 12 : 原明奈
|
||||
SMBD-09__2013-05-30__S Model 09 : 花井メイサ
|
||||
SMBD-01__2013-05-28__S Model 01 : 杏堂なつ
|
||||
SMBD-03__2013-05-28__S Model 03 : 大塚咲
|
||||
SMBD-77__2013-05-20__S Model 77 ~オフィスレディーの裏に秘めた性癖~ : 上原結衣
|
||||
SMBD-29__2013-05-09__S Model 29 : 白咲舞
|
||||
SMBD-78__2013-04-30__S Model 78 Supernova 18 Hot Girls 3時間総集編 / 総勢18名
|
||||
SMBD-76__2013-03-21__S Model 76 ~素人ムスメのアクメ姿~ : 園咲杏里 (HD)
|
||||
SMBD-48__2013-03-04__S Model 48 : あざみねね (HD)
|
||||
SMBD-57__2013-03-04__S Model 57 : 彩佳リリス (HD)
|
||||
SMBD-75__2013-02-19__S Model 75 ~家出っこに生姦中出し制裁に!~ : 鏑木みゆ (HD)
|
||||
SMBD-34__2013-02-15__S Model 34 : 黒木アリサ (HD)
|
||||
SMBD-44__2013-02-12__S Model 44 超天然グラマラスBody : 小日向みく (HD)
|
||||
SMBD-33__2013-02-11__S Model 33 : 南野あかり (HD)
|
||||
SMBD-47__2013-02-08__S Model 47 : 荒木ありさ (HD)
|
||||
SMBD-74__2013-02-05__S Model 74 上京娘 パイパン!真性中出し!三穴輪姦!: 大葉さくら (HD)
|
||||
SMBD-31__2013-02-05__S Model 31 : 真田春香 (HD)
|
||||
SMBD-26__2013-02-04__S Model 26 : 相葉りか (HD)
|
||||
SMBD-73__2013-01-17__S Model 73 ~桃尻姫中出しSEX~ : みづなれい (HD)
|
||||
SMBD-27__2013-01-09__S Model 27 : ももかりん (HD)
|
||||
SMBD-72__2013-01-03__S Model 72 : 秋元まゆ花 総集編 DX 3時間 (HD)
|
||||
SMBD-71__2012-12-27__S Model 71 ~開放的な青姦24連発!!!~ : 秋元まゆ花, 前田陽菜, 遥めぐみ, 真木今日子, 菜々瀬ゆい, 京野ななか (HD)
|
||||
SMBD-23__2012-12-18__S Model 23 : 愛原つばさ (HD)
|
||||
SMBD-20__2012-12-17__S Model 20 : 天宮まりる (HD)
|
||||
SMBD-22__2012-12-17__S Model 22 : 青山さつき (HD)
|
||||
SMBD-18__2012-12-14__S Model 18 : 青空小夏 (HD)
|
||||
SMBD-16__2012-12-13__S Model 16 : 夏原カレン (HD)
|
||||
SMBD-70__2012-12-10__S Model 70 ~衝撃の無修正中出しデビュー!~ : 大島あいる (HD)
|
||||
SMBD-37__2012-12-05__S Model 37 : 柏木ルル (HD)
|
||||
SMBD-36__2012-12-04__S Model 36 : 桜花エナ (HD)
|
||||
SMBD-69__2012-11-08__S Model 69: 前田陽菜 総集編 DX 3時間 前田陽菜 (HD)
|
||||
SMBD-68__2012-10-19__S Model 68 ~敏感美少女が乱れ犯り~ : 椎名ひかる (HD)
|
||||
SMBD-45__2012-10-08__S Model 45 : 渋谷系イマドキ娘中出しファック! : 原純那 (HD)
|
||||
SMBD-46__2012-10-01__S Model 46 : 上条めぐ (HD)
|
||||
SMBD-67__2012-09-25__S Model 67 極上美巨乳娘生中出し悶え狂う : 沙藤ユリ (HD)
|
||||
SMBD-66__2012-09-20__S Model 66 : 真木今日子 総集編 DX 3時間 (HD)
|
||||
SMBD-65__2012-09-18__S Model 65 : 片桐えりりか 総集編 DX 3時間 (HD)
|
||||
SMBD-64__2012-09-10__S Model 64 ~ロリーマンJK 学園性交~ : さくら萠 (HD)
|
||||
SMBD-50__2012-08-22__S Model 50 : 大海まりん (HD)
|
||||
SMBD-63__2012-08-17__S Model 63 ~ドしろーと娘旅先ゲット~ : 菜々瀬ゆい (HD)
|
||||
SMBD-54__2012-08-15__S Model 54 : 篠乃なつき (HD)
|
||||
SMBD-53__2012-08-15__S Model 53 : 篠めぐみ (HD)
|
||||
SMBD-52__2012-08-10__S Model 52 パイパン少女アナルレンタル : 葵みゆ (HD)
|
||||
SMBD-51__2012-08-10__S Model 51 女子○生連れ込み乱交ファック : 杏樹紗奈 (HD)
|
||||
SMBD-60__2012-08-06__S Model 60 ~海の娼婦挑発ボディ~ : 遥めぐみ (HD)
|
||||
SMBD-59__2012-08-06__S Model 59 青姦中出しアクメ : 真木今日子 (HD)
|
||||
SMBD-56__2012-08-02__S Model 56 : 赤西ケイ (HD)
|
||||
SMBD-62__2012-08-02__S Model 62 ~悩殺女教師の生チン漁り~ : かすみゆら (HD)
|
||||
SMBD-61__2012-07-23__S Model 61 ~南国美少女生中解禁~ : 秋元まゆ花(愛花沙也)(HD)
|
||||
SMBD-58__2012-05-31__S Model 58 : あいりみく 総集編 DX 3時間 (HD)
|
||||
SMBD-55__2012-05-04__S Model 55 : 長澤あずさ 総集編 DX 3時間 (HD)
|
||||
SMBD-17__2010-11-16__S Model 17 : 武藤クレア : Part.1 (HD)
|
||||
SMBD-002s__2010-04-16__ユリア nude fairy (ブルーレイディスク)
|
||||
SMBD-04__2009-12-02__S Model 04 : 音羽かなで
|
||||
SMBD-006__2009-05-09__全裸族
|
||||
SMBD-007__2004-07-15__裸族 VOL.6 相楽はるみ
|
||||
SMBD-005__2004-05-03__裸族 Vol.5【きくま聖】
|
||||
SMBD-004__2004-05-01__裸族 Vol.4【星川みなみ】
|
||||
SMBD-003__2004-02-19__SENZURI MASTER 彩名杏子
|
||||
SMBD-002__2003-12-04__SENZURI MASTER 朝比奈ゆい
|
||||
SMBD-001__2003-08-03__SENZURI MASTER 春菜まい
|
||||
SMBD-40-1__2012-01-23__S Model 40 : AIKA Part.1 (HD)
|
||||
SMBD-35-1__2011-09-17__S Model 35 : 沖田はづき : Part.1 (HD)
|
||||
SMBD-25-1__2011-03-11__S Model 25 僕と妹の禁断ロマンス: 葵ぶるま : Part.1 (HD)
|
||||
SMBD-24-1__2011-03-03__S Model 24 : 朝倉ことみ : Part.1 (HD)
|
||||
SMBD-19-1__2010-11-24__S Model 19 : 羽月希 : Part.1 (HD)
|
||||
SMBD-08-1__2010-08-11__S Model 08 : SARA : Part.1 (HD)
|
||||
SMBD-13-1__2010-08-07__S Model 13 : 真中ちひろ : Part.1 (HD)
|
||||
SMBD-07-1__2010-03-22__S Model 07 : Part.1 (HD)
|
||||
SMBD-06-1__2010-02-24__S Model 06 : Part-1 (HD)
|
||||
SMBD-02-1__2009-10-12__S Model 02 : Part-I (HD)
|
||||
FC2-266184__2014-11-19__セレブの目覚め SBMD-02
|
||||
SMDD-001dod__2018-09-29__SMDD-001dod 清純クロニクル BEST(ディスクオンデマンド限定) (DOD)
|
||||
FC2-1068643__2019-04-17__「[爆逝き良品7]<千秋激似長身スレンダー円光J●(18)完堕ちSP・BD愉悦絶頂ループ・リミットレス統合編>・局部完全無修正・ヴィンテージ愛蔵版」
|
||||
DMBD-010__2012-02-10__有村千佳が素人M男の自宅に突撃訪問 有村千佳
|
||||
DMBD-008__2011-12-05__泉麻耶が素人M男の自宅に突撃訪問 泉麻耶
|
||||
DMBD-007__2011-10-05__スーパー美脚女教師のM男弄びレッスン 白咲舞
|
||||
DMBD-006__2011-07-05__ボクの家庭教師 M男クンの密着濃厚レッスン 有村千佳
|
||||
DMBD-005__2011-06-05__ど淫乱痴女医の変態M男調教クリニック 2 大槻ひびき
|
||||
DMBD-004__2011-05-05__超わがまま社長令嬢のパワハラセレブM男調教 愛原つばさ
|
||||
DMBD-003__2011-04-05__ど淫乱痴女医の変態M男調教クリニック 桐原あずさ
|
||||
DMBD-002__2011-02-10__「収入」「身長」「地位」全てが高い!超ハイスペックな美人S女社長のダメM男社員教育
|
||||
DMBD-001__2010-12-05__美人どS家庭教師の個人授業 M男生徒をペットにする美人教師
|
||||
BMBD-017__2004-07-09__4時間24人カリスマAVアイドルBESTコレクション
|
||||
BMBD-016__2004-06-11__Private 三津なつみ
|
||||
BMBD-015__2004-05-14__はずかしいよぉ FULL-course 三津なつみ
|
||||
BMBD-014__2004-04-09__いきなり ReMIX 三津なつみ
|
||||
BMBD-013__2004-03-26__Natural 月野はるか
|
||||
BMBD-012a__2004-03-12__GO!GO!Ogura an 小倉杏
|
||||
BMBD-012b__2004-03-12__GO!GO!Ogura an 小倉杏
|
||||
BMBD-011__2004-02-27__La MAID 麻生まりも
|
||||
BMBD-010b__2004-02-13__Second Love 小倉杏
|
||||
BMBD-010a__2004-02-13__Second Love 小倉杏
|
||||
BMBD-009__2004-01-30__Escape 神田梨沙
|
||||
BMBD-008a__2004-01-16__First 小倉杏
|
||||
BMBD-008b__2004-01-16__First 小倉杏
|
||||
BMBD-007__2003-12-26__ピュア 長谷川いずみ
|
||||
BMBD-006__2003-11-14__Splash! Rina
|
||||
BMBD-005__2003-10-24__Teach 朝比奈ゆい
|
||||
BMBD-004__2003-10-10__PRISONER 薫桜子 完全版
|
||||
BMBD-003__2003-09-12__La MAID 春菜まい
|
||||
BMBD-002__2003-08-22__ピュア 野原りん
|
||||
BMBD-001__2003-07-11__Bad Luck Kay.
|
||||
BMBD-05__2003-05-01__女体実験室 VOL.5 ~新人拘束調教~ 桃乃かおり
|
||||
BMBD-04__2003-03-01__女体実験室 VOL.4 ~陵辱ロリ拘束~ 岬じゅん
|
||||
BMBD-03__2003-02-01__女体実験室 VOL.3 ~限界巨乳拘束~ 一夜かずみ
|
||||
BMBD-02__2003-01-01__女体実験室 VOL.2 ~強制絶頂拘束~ 菊地麗子
|
||||
BMBD-01__2002-11-26__女体実験室 VOL.1 ~拘束快感調教~ 萩原さやか
|
||||
SHIIKU-001__2010-09-10__性奴●飼育マニュアル THE MOVIE
|
||||
1148
javdb/javdb_tmp/all.txt
Normal file
1148
javdb/javdb_tmp/all.txt
Normal file
File diff suppressed because it is too large
Load Diff
87
javdb/src/config.py
Normal file
87
javdb/src/config.py
Normal file
@ -0,0 +1,87 @@
|
||||
import logging
|
||||
import os
|
||||
import inspect
|
||||
import time
|
||||
from datetime import datetime
|
||||
from logging.handlers import RotatingFileHandler
|
||||
from collections import defaultdict
|
||||
|
||||
home_dir = os.path.expanduser("~")
|
||||
global_host_data_dir = f'{home_dir}/hostdir/scripts_data'
|
||||
global_share_data_dir = f'{home_dir}/sharedata'
|
||||
|
||||
|
||||
# 统计日志频率
|
||||
log_count = defaultdict(int) # 记录日志的次数
|
||||
last_log_time = defaultdict(float) # 记录上次写入的时间戳
|
||||
|
||||
class RateLimitFilter(logging.Filter):
|
||||
"""
|
||||
频率限制过滤器:
|
||||
1. 在 60 秒内,同样的日志最多写入 60 次,超过则忽略
|
||||
2. 如果日志速率超过 100 条/秒,发出告警
|
||||
"""
|
||||
LOG_LIMIT = 60 # 每分钟最多记录相同消息 10 次
|
||||
|
||||
def filter(self, record):
|
||||
global log_count, last_log_time
|
||||
message_key = record.getMessage() # 获取日志内容
|
||||
|
||||
# 计算当前时间
|
||||
now = time.time()
|
||||
elapsed = now - last_log_time[message_key]
|
||||
|
||||
# 限制相同日志的写入频率
|
||||
if elapsed < 60: # 60 秒内
|
||||
log_count[message_key] += 1
|
||||
if log_count[message_key] > self.LOG_LIMIT:
|
||||
print('reach limit.')
|
||||
return False # 直接丢弃
|
||||
else:
|
||||
log_count[message_key] = 1 # 超过 60 秒,重新计数
|
||||
|
||||
last_log_time[message_key] = now
|
||||
|
||||
return True # 允许写入日志
|
||||
|
||||
|
||||
def setup_logging(log_filename=None):
|
||||
if log_filename is None:
|
||||
caller_frame = inspect.stack()[1]
|
||||
caller_filename = os.path.splitext(os.path.basename(caller_frame.filename))[0]
|
||||
current_date = datetime.now().strftime('%Y%m%d')
|
||||
log_filename = f'../log/{caller_filename}_{current_date}.log'
|
||||
|
||||
max_log_size = 100 * 1024 * 1024 # 10 MB
|
||||
max_log_files = 10 # 最多保留 10 个日志文件
|
||||
|
||||
file_handler = RotatingFileHandler(log_filename, maxBytes=max_log_size, backupCount=max_log_files)
|
||||
file_handler.setFormatter(logging.Formatter(
|
||||
'%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] (%(funcName)s) - %(message)s'
|
||||
))
|
||||
|
||||
console_handler = logging.StreamHandler()
|
||||
console_handler.setFormatter(logging.Formatter(
|
||||
'%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] (%(funcName)s) - %(message)s'
|
||||
))
|
||||
|
||||
# 创建 logger
|
||||
logger = logging.getLogger()
|
||||
logger.setLevel(logging.INFO)
|
||||
logger.handlers = [] # 避免重复添加 handler
|
||||
logger.addHandler(file_handler)
|
||||
logger.addHandler(console_handler)
|
||||
|
||||
# 添加频率限制
|
||||
rate_limit_filter = RateLimitFilter()
|
||||
file_handler.addFilter(rate_limit_filter)
|
||||
console_handler.addFilter(rate_limit_filter)
|
||||
|
||||
|
||||
# 运行示例
|
||||
if __name__ == "__main__":
|
||||
setup_logging()
|
||||
|
||||
for i in range(1000):
|
||||
logging.info("测试日志,检测频率限制")
|
||||
time.sleep(0.01) # 模拟快速写入日志
|
||||
294
javdb/src/fetch.py
Normal file
294
javdb/src/fetch.py
Normal file
@ -0,0 +1,294 @@
|
||||
|
||||
import json
|
||||
import time
|
||||
import csv
|
||||
import argparse
|
||||
import logging
|
||||
from functools import partial
|
||||
import config
|
||||
import sqlite_utils as db_tools
|
||||
import scraper
|
||||
import utils
|
||||
|
||||
config.setup_logging()
|
||||
|
||||
debug = False
|
||||
force = False
|
||||
|
||||
# 获取演员列表
|
||||
def fetch_actor_list():
|
||||
next_url = scraper.actors_uncensored_base_url
|
||||
while next_url:
|
||||
logging.info(f'fetching page {next_url}')
|
||||
soup, status_code = scraper.fetch_page(next_url, partial(scraper.generic_validator, tag="div", identifier="actors", attr_type="id"))
|
||||
if soup:
|
||||
list_data, next_url = scraper.parse_actors_uncensored(soup, next_url)
|
||||
if list_data :
|
||||
# 写入数据库
|
||||
for row in list_data:
|
||||
actor_id = db_tools.insert_actor_index(name=row['name'], href=row.get('href', ''), from_actor_list=1)
|
||||
if actor_id:
|
||||
logging.debug(f'insert performer index to db. performer_id:{actor_id}, name: {row['name']}, href:{row['href']}')
|
||||
else:
|
||||
logging.warning(f'insert performer index failed. name: {row['name']}, href:{row['href']}')
|
||||
else:
|
||||
logging.warning(f'fetch actor error. {next_url} ...')
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}')
|
||||
break
|
||||
|
||||
# 获取makers列表
|
||||
def fetch_makers_list():
|
||||
next_url = scraper.makers_uncensored_base_url
|
||||
while next_url:
|
||||
logging.info(f'fetching page {next_url}')
|
||||
soup, status_code = scraper.fetch_page(next_url, partial(scraper.generic_validator, tag="div", identifier="makers", attr_type="id"))
|
||||
if soup:
|
||||
list_data, next_url = scraper.parse_makers_uncensored(soup, next_url)
|
||||
if list_data :
|
||||
# 写入数据库
|
||||
for row in list_data:
|
||||
maker_id = db_tools.insert_or_update_makers(row)
|
||||
if maker_id:
|
||||
logging.debug(f'insert maker to db. maker_id:{maker_id}, name: {row['name']}, href:{row['href']}')
|
||||
else:
|
||||
logging.warning(f'insert maker failed. name: {row['name']}, href:{row['href']}')
|
||||
else:
|
||||
logging.warning(f'fetch actor error. {next_url} ...')
|
||||
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}')
|
||||
break
|
||||
|
||||
# 获取series列表
|
||||
def fetch_series_list():
|
||||
next_url = scraper.series_uncensored_base_url
|
||||
while next_url:
|
||||
logging.info(f'fetching page {next_url}')
|
||||
soup, status_code = scraper.fetch_page(next_url, partial(scraper.generic_validator, tag="div", identifier="series", attr_type="id"))
|
||||
if soup:
|
||||
list_data, next_url = scraper.parse_series_uncensored(soup, next_url)
|
||||
if list_data :
|
||||
# 写入数据库
|
||||
for row in list_data:
|
||||
maker_id = db_tools.insert_or_update_series(row)
|
||||
if maker_id:
|
||||
logging.debug(f'insert series to db. maker_id:{maker_id}, name: {row['name']}, href:{row['href']}')
|
||||
else:
|
||||
logging.warning(f'insert series failed. name: {row['name']}, href:{row['href']}')
|
||||
else:
|
||||
logging.warning(f'fetch actor error. {next_url} ...')
|
||||
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}')
|
||||
break
|
||||
|
||||
|
||||
# 更新makers列表中的影片信息
|
||||
def fetch_movies_by_maker():
|
||||
url_list = db_tools.query_maker_hrefs()
|
||||
if debug:
|
||||
url_list = db_tools.query_maker_hrefs(name='muramura')
|
||||
for url in url_list:
|
||||
# 去掉可下载的标志(如果有)
|
||||
next_url = utils.remove_url_query(url)
|
||||
while next_url:
|
||||
logging.info(f"Fetching data for maker url {next_url} ...")
|
||||
soup, status_code = scraper.fetch_page(next_url, partial(scraper.generic_validator, tag="div", identifier="column section-title", attr_type="class"))
|
||||
if soup:
|
||||
list_data, next_url = scraper.parse_maker_detail(soup, next_url)
|
||||
if list_data:
|
||||
for movie in list_data:
|
||||
tmp_id = db_tools.insert_movie_index(title=movie['title'], href=movie['href'], from_movie_makers=1)
|
||||
if tmp_id:
|
||||
logging.debug(f'insert one movie index to db. movie_id: {tmp_id}, title: {movie['title']}, href: {movie['href']}')
|
||||
else:
|
||||
logging.warning(f'insert movie index failed. title: {movie['title']}, href: {movie['href']}')
|
||||
else :
|
||||
logging.warning(f'parse_page_movie error. url: {next_url}')
|
||||
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}')
|
||||
break
|
||||
|
||||
# 调试增加brak
|
||||
if debug:
|
||||
return True
|
||||
|
||||
# 更新series列表中的影片信息
|
||||
def fetch_movies_by_series():
|
||||
url_list = db_tools.query_series_hrefs()
|
||||
if debug:
|
||||
url_list = db_tools.query_series_hrefs(name='10musume')
|
||||
for url in url_list:
|
||||
# 去掉可下载的标志(如果有)
|
||||
next_url = utils.remove_url_query(url)
|
||||
while next_url:
|
||||
logging.info(f"Fetching data for series url {next_url} ...")
|
||||
soup, status_code = scraper.fetch_page(next_url, partial(scraper.generic_validator, tag="div", identifier="column section-title", attr_type="class"))
|
||||
if soup:
|
||||
list_data, next_url = scraper.parse_series_detail(soup, next_url)
|
||||
if list_data:
|
||||
for movie in list_data:
|
||||
tmp_id = db_tools.insert_movie_index(title=movie['title'], href=movie['href'], from_movie_series=1)
|
||||
if tmp_id:
|
||||
logging.debug(f'insert one movie index to db. movie_id: {tmp_id}, title: {movie['title']}, href: {movie['href']}')
|
||||
else:
|
||||
logging.warning(f'insert movie index failed. title: {movie['title']}, href: {movie['href']}')
|
||||
else :
|
||||
logging.warning(f'parse_page_movie error. url: {next_url}')
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}')
|
||||
break
|
||||
|
||||
# 调试增加brak
|
||||
if debug:
|
||||
return True
|
||||
|
||||
|
||||
# 更新演员信息
|
||||
def fetch_performers_detail():
|
||||
perfomers_list = []
|
||||
while True:
|
||||
# 每次从数据库中取一部分,避免一次全量获取
|
||||
perfomers_list = db_tools.query_actors(is_full_data=0, limit=100)
|
||||
if len(perfomers_list) < 1:
|
||||
logging.info(f'all performers fetched.')
|
||||
break
|
||||
for performer in perfomers_list:
|
||||
url = performer['href']
|
||||
person = performer['name']
|
||||
pic = ''
|
||||
alias = []
|
||||
|
||||
next_url = url
|
||||
all_movies = []
|
||||
while next_url:
|
||||
logging.info(f"Fetching data for actor ({person}), url {next_url} ...")
|
||||
soup, status_code = scraper.fetch_page(next_url, partial(scraper.generic_validator, tag="div", identifier="movie-list h cols-4 vcols-5", attr_type="class"))
|
||||
if soup:
|
||||
data, next_url = scraper.parse_actor_detail(soup, next_url)
|
||||
if data:
|
||||
pic = data.get('pic', '')
|
||||
alias = data.get('alias', [])
|
||||
all_movies.extend(data.get('movies', []))
|
||||
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}, Skiping...')
|
||||
break
|
||||
else:
|
||||
logging.warning(f'fetch_page error. person: ({person}), url: {url}')
|
||||
|
||||
# 获取完了个人的所有影片,开始插入数据
|
||||
performer_id = db_tools.insert_or_update_actor({
|
||||
'href': url,
|
||||
'name': person,
|
||||
'pic' : pic,
|
||||
'alias' : alias,
|
||||
'credits':all_movies
|
||||
})
|
||||
if performer_id:
|
||||
logging.info(f'insert one person, id: {performer_id}, person: ({person}), url: {url}')
|
||||
else:
|
||||
logging.warning(f'insert person: ({person}) {url} failed.')
|
||||
# 调试break
|
||||
if debug:
|
||||
return True
|
||||
|
||||
# 更新影片信息
|
||||
def fetch_movies_detail():
|
||||
movies_list = []
|
||||
while True:
|
||||
movies_list = db_tools.query_movie_hrefs(is_full_data=0, limit=100)
|
||||
if len(movies_list) < 1:
|
||||
logging.info(f'all movies fetched.')
|
||||
break
|
||||
for movie in movies_list:
|
||||
url = movie['href']
|
||||
title = movie['title']
|
||||
logging.info(f"Fetching data for movie ({title}), url {url} ...")
|
||||
soup, status_code = scraper.fetch_page(url, partial(scraper.generic_validator, tag="div", identifier="video-meta-panel", attr_type="class"))
|
||||
if soup:
|
||||
movie_data = scraper.parse_movie_detail(soup, url, title)
|
||||
if movie_data :
|
||||
movie_id = db_tools.insert_or_update_movie(movie_data)
|
||||
if movie_id:
|
||||
logging.info(f'insert one movie, id: {movie_id}, title: ({title}) url: {url}')
|
||||
else:
|
||||
logging.warning(f'insert movie {url} failed.')
|
||||
else:
|
||||
logging.warning(f'parse_page_movie error. url: {url}')
|
||||
|
||||
elif status_code and status_code == 404:
|
||||
logging.warning(f'fetch page error. httpcode: {status_code}, url: {next_url}')
|
||||
break
|
||||
else:
|
||||
logging.warning(f'fetch_page error. url: {url}')
|
||||
time.sleep(1)
|
||||
# 调试增加break
|
||||
if debug:
|
||||
return True
|
||||
|
||||
|
||||
# 建立缩写到函数的映射
|
||||
function_map = {
|
||||
"actor_list": fetch_actor_list,
|
||||
"maker_list": fetch_makers_list,
|
||||
"series_list": fetch_series_list,
|
||||
"makers": fetch_movies_by_maker,
|
||||
"series" : fetch_movies_by_series,
|
||||
"movies" : fetch_movies_detail,
|
||||
"actors" : fetch_performers_detail,
|
||||
}
|
||||
|
||||
# 主函数
|
||||
def main(cmd, args_debug, args_force):
|
||||
global debug
|
||||
debug = args_debug
|
||||
|
||||
global force
|
||||
force = args_force
|
||||
|
||||
# 开启任务
|
||||
task_id = db_tools.insert_task_log()
|
||||
if task_id is None:
|
||||
logging.warning(f'insert task log error.')
|
||||
return None
|
||||
|
||||
logging.info(f'running task. id: {task_id}, debug: {debug}, force: {force}, cmd: {cmd}')
|
||||
|
||||
# 执行指定的函数
|
||||
if cmd:
|
||||
function_names = args.cmd.split(",") # 拆分输入
|
||||
for short_name in function_names:
|
||||
func = function_map.get(short_name.strip()) # 从映射中获取对应的函数
|
||||
if callable(func):
|
||||
db_tools.update_task_log(task_id, task_status=f'Running {short_name}')
|
||||
func()
|
||||
else:
|
||||
logging.warning(f" {short_name} is not a valid function shortcut.")
|
||||
else: # 全量执行
|
||||
for name, func in function_map.items():
|
||||
if callable(func):
|
||||
db_tools.update_task_log(task_id, task_status=f'Running {name}')
|
||||
func()
|
||||
else:
|
||||
logging.warning(f" {short_name} is not a valid function shortcut.")
|
||||
|
||||
logging.info(f'all process completed!')
|
||||
db_tools.finalize_task_log(task_id)
|
||||
|
||||
# TODO:
|
||||
# 1,
|
||||
|
||||
if __name__ == "__main__":
|
||||
# 命令行参数处理
|
||||
keys_str = ",".join(function_map.keys())
|
||||
|
||||
parser = argparse.ArgumentParser(description='fetch javdb data.')
|
||||
parser.add_argument("--cmd", type=str, help=f"Comma-separated list of function shortcuts: {keys_str}")
|
||||
parser.add_argument('--debug', action='store_true', help='Enable debug mode (limit records)')
|
||||
parser.add_argument('--force', action='store_true', help='force update (true for rewrite all)')
|
||||
args = parser.parse_args()
|
||||
|
||||
main(args.cmd, args.debug, args.force)
|
||||
504
javdb/src/scraper.py
Normal file
504
javdb/src/scraper.py
Normal file
@ -0,0 +1,504 @@
|
||||
import cloudscraper
|
||||
import time
|
||||
import json
|
||||
import csv
|
||||
import logging
|
||||
import signal
|
||||
import sys
|
||||
import os
|
||||
import re
|
||||
from bs4 import BeautifulSoup
|
||||
from requests.exceptions import RequestException
|
||||
from functools import partial
|
||||
import config
|
||||
|
||||
# 定义基础 URL 和可变参数
|
||||
host_url = "https://www.javdb.com"
|
||||
actors_uncensored_base_url = f'{host_url}/actors/uncensored'
|
||||
series_uncensored_base_url = f'{host_url}/series/uncensored'
|
||||
makers_uncensored_base_url = f'{host_url}/makers/uncensored'
|
||||
|
||||
# 设置 headers 和 scraper
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
|
||||
}
|
||||
scraper = cloudscraper.create_scraper()
|
||||
|
||||
#使用 CloudScraper 进行网络请求,并执行页面验证,支持不同解析器和预处理
|
||||
def fetch_page(url, validator, max_retries=3, parser="html.parser", preprocessor=None):
|
||||
for attempt in range(max_retries):
|
||||
try:
|
||||
if 'javdb.com' not in url.lower():
|
||||
logging.error(f'wrong url format: {url}')
|
||||
return None, None
|
||||
|
||||
response = scraper.get(url, headers=headers)
|
||||
|
||||
# 处理 HTTP 状态码
|
||||
if response.status_code == 404:
|
||||
logging.warning(f"Page not found (404): {url}")
|
||||
return None, 404 # 直接返回 404,调用方可以跳过
|
||||
|
||||
response.raise_for_status() # 处理 HTTP 错误
|
||||
|
||||
# 预处理 HTML(如果提供了 preprocessor)
|
||||
html_text = preprocessor(response.text) if preprocessor else response.text
|
||||
|
||||
soup = BeautifulSoup(html_text, parser)
|
||||
if validator(soup): # 进行自定义页面检查
|
||||
return soup, response.status_code
|
||||
|
||||
logging.warning(f"Validation failed on attempt {attempt + 1} for {url}")
|
||||
except cloudscraper.exceptions.CloudflareChallengeError as e:
|
||||
logging.error(f"Cloudflare Challenge Error on {url}: {e}, Retring...")
|
||||
except cloudscraper.exceptions.CloudflareCode1020 as e:
|
||||
logging.error(f"Access Denied (Error 1020) on {url}: {e}, Retring...")
|
||||
except Exception as e:
|
||||
logging.error(f"Unexpected error on {url}: {e}, Retring...")
|
||||
|
||||
logging.error(f'Fetching failed after max retries. {url}')
|
||||
return None, None # 达到最大重试次数仍然失败
|
||||
|
||||
# 修复 HTML 结构,去除多余标签并修正 <a> 标签,在获取人种的时候需要
|
||||
def preprocess_html(html):
|
||||
return html.replace('<br>', '').replace('<a ', '<a target="_blank" ')
|
||||
|
||||
# 通用的 HTML 结构验证器
|
||||
def generic_validator(soup, tag, identifier, attr_type="id"):
|
||||
if attr_type == "id":
|
||||
return soup.find(tag, id=identifier) is not None
|
||||
elif attr_type == "class":
|
||||
return bool(soup.find_all(tag, class_=identifier))
|
||||
elif attr_type == "name":
|
||||
return bool(soup.find('select', {'name': identifier}))
|
||||
return False
|
||||
|
||||
# 解析链接中的页码
|
||||
def url_page_num(href):
|
||||
if href is None:
|
||||
return None
|
||||
match = re.search(r'page=(\d+)', href)
|
||||
if match:
|
||||
next_page_number = int(match.group(1))
|
||||
return next_page_number
|
||||
else:
|
||||
return None
|
||||
|
||||
|
||||
# <span class="avatar" style="background-image: url(https://c0.jdbstatic.com/avatars/md/mdRn.jpg)"></span>
|
||||
def parse_avatar_image(soup):
|
||||
try:
|
||||
span = soup.find("span", class_="avatar")
|
||||
if not span:
|
||||
return "" # 没有找到 <span> 元素,返回空字符串
|
||||
|
||||
style = span.get("style", "")
|
||||
match = re.search(r'url\(["\']?(.*?)["\']?\)', style)
|
||||
return match.group(1) if match else "" # 解析成功返回 URL,否则返回空字符串
|
||||
except Exception as e:
|
||||
return "" # 发生异常时,返回空字符串
|
||||
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_actors_uncensored(soup, href):
|
||||
div_actors = soup.find("div", id='actors')
|
||||
if not div_actors:
|
||||
logging.warning(f"Warning: No actors div found ")
|
||||
return None, None
|
||||
|
||||
# 解析元素
|
||||
rows = div_actors.find_all('div', class_='box actor-box')
|
||||
|
||||
list_data = []
|
||||
next_url = None
|
||||
for row in rows:
|
||||
# 获取演员详情链接
|
||||
actor_link = row.find('a')['href']
|
||||
# 获取演员名字
|
||||
actor_name = row.find('strong').text.strip()
|
||||
# 获取头像图片链接
|
||||
avatar_url = row.find('img', class_='avatar')['src']
|
||||
# 获取 title 属性中的别名
|
||||
alias_list = row.find('a')['title'].split(", ")
|
||||
|
||||
list_data.append({
|
||||
'name' : actor_name,
|
||||
'href' : host_url + actor_link if actor_link else '',
|
||||
'pic' : avatar_url,
|
||||
'alias': alias_list
|
||||
})
|
||||
|
||||
# 查找 "下一页" 按钮
|
||||
next_page_element = soup.find('a', class_='pagination-next')
|
||||
if next_page_element:
|
||||
next_page_url = next_page_element['href']
|
||||
next_page_number = url_page_num(next_page_url)
|
||||
current_page_number = url_page_num(href)
|
||||
if current_page_number is None:
|
||||
current_page_number = 0
|
||||
if next_page_number and next_page_number > current_page_number :
|
||||
next_url = host_url + next_page_url
|
||||
|
||||
return list_data, next_url
|
||||
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_actor_detail(soup, href):
|
||||
# 先找一下别名
|
||||
alias_list = []
|
||||
|
||||
div_meta = soup.find('span', class_='actor-section-name')
|
||||
if not div_meta:
|
||||
logging.warning(f'warning: no meta data found in page {href}')
|
||||
return None, None
|
||||
alias_div = soup.find('div', class_='column section-title')
|
||||
|
||||
if alias_div:
|
||||
meta_list = alias_div.find_all('span', class_='section-meta')
|
||||
if len(meta_list) > 1:
|
||||
alias_list = meta_list[0].text.strip().split(", ")
|
||||
|
||||
# 头像
|
||||
pic = ''
|
||||
avatar = soup.find("div", class_="column actor-avatar")
|
||||
if avatar:
|
||||
pic = parse_avatar_image(avatar)
|
||||
|
||||
# 返回数据
|
||||
actor = {}
|
||||
|
||||
div_movies = soup.find("div", class_='movie-list h cols-4 vcols-5')
|
||||
if not div_movies:
|
||||
logging.warning(f"Warning: No movies div found ")
|
||||
return None, None
|
||||
|
||||
# 解析元素
|
||||
rows = div_movies.find_all('div', class_='item')
|
||||
|
||||
list_data = []
|
||||
next_url = None
|
||||
for row in rows:
|
||||
link = row.find('a', class_='box')['href']
|
||||
serial_number = row.find('strong').text.strip()
|
||||
title = row.find('div', class_='video-title').text.strip()
|
||||
release_date = row.find('div', class_='meta').text.strip()
|
||||
list_data.append({
|
||||
'href' : host_url + link if link else '',
|
||||
'serial_number' : serial_number,
|
||||
'title' : title,
|
||||
'release_date': release_date
|
||||
})
|
||||
|
||||
# 查找 "下一页" 按钮
|
||||
next_page_element = soup.find('a', class_='pagination-next')
|
||||
if next_page_element:
|
||||
next_page_url = next_page_element['href']
|
||||
next_page_number = url_page_num(next_page_url)
|
||||
current_page_number = url_page_num(href)
|
||||
logging.debug(f'current_page: {current_page_number}, next page_num: {next_page_number}')
|
||||
if current_page_number is None:
|
||||
current_page_number = 0
|
||||
if next_page_number and next_page_number > current_page_number :
|
||||
next_url = host_url + next_page_url
|
||||
|
||||
actor = {
|
||||
'pic' : pic,
|
||||
'alias' : alias_list,
|
||||
'movies' : list_data
|
||||
}
|
||||
|
||||
return actor, next_url
|
||||
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_movie_detail(soup, href, title):
|
||||
div_video = soup.find("div", class_='video-meta-panel')
|
||||
if not div_video:
|
||||
logging.warning(f"Warning: No movies div found ")
|
||||
return None, None
|
||||
|
||||
# 获取封面图片
|
||||
cover_img = soup.select_one('.column-video-cover a')
|
||||
cover_url = cover_img['href'] if cover_img else None
|
||||
|
||||
# 获取番号
|
||||
serial = soup.select_one('.panel-block:first-child .value')
|
||||
serial_number = serial.text.strip() if serial else None
|
||||
|
||||
# 获取日期
|
||||
date = soup.select_one('.panel-block:nth-of-type(2) .value')
|
||||
release_date = date.text.strip() if date else None
|
||||
|
||||
# 获取时长
|
||||
duration = soup.select_one('.panel-block:nth-of-type(3) .value')
|
||||
video_duration = duration.text.strip() if duration else None
|
||||
|
||||
# 获取片商
|
||||
maker = soup.select_one('.panel-block:nth-of-type(4) .value a')
|
||||
maker_name = maker.text.strip() if maker else None
|
||||
maker_link = maker['href'] if maker else None
|
||||
|
||||
# 获取系列
|
||||
series = soup.select_one('.panel-block:nth-of-type(5) .value a')
|
||||
series_name = series.text.strip() if series else None
|
||||
series_link = series['href'] if series else None
|
||||
|
||||
# 获取演员(名字 + 链接)
|
||||
actors = [{'name': actor.text.strip(), 'href': host_url + actor['href']} for actor in soup.select('.panel-block:nth-of-type(8) .value a')]
|
||||
|
||||
return {
|
||||
'href' : href,
|
||||
'title' : title,
|
||||
'cover_url': cover_url,
|
||||
'serial_number': serial_number,
|
||||
'release_date': release_date,
|
||||
'duration': video_duration,
|
||||
'maker_name': maker_name,
|
||||
'maker_link': host_url + maker_link if maker_link else '',
|
||||
'series_name': series_name,
|
||||
'series_link': host_url + series_link if series_link else '',
|
||||
'actors': actors
|
||||
}
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_series_uncensored(soup, href):
|
||||
div_series = soup.find("div", id='series')
|
||||
if not div_series:
|
||||
logging.warning(f"Warning: No div_series div found ")
|
||||
return None, None
|
||||
|
||||
# 解析元素
|
||||
rows = div_series.find_all('a', class_='box')
|
||||
|
||||
list_data = []
|
||||
next_url = None
|
||||
for row in rows:
|
||||
name = row.find('strong').text.strip()
|
||||
href = row['href']
|
||||
div_movies = row.find('span')
|
||||
movies = 0
|
||||
if div_movies:
|
||||
match = re.search(r'\((\d+)\)', div_movies.text.strip())
|
||||
if match:
|
||||
movies = int(match.group(1))
|
||||
|
||||
list_data.append({
|
||||
'name' : name,
|
||||
'href' : host_url + href if href else '',
|
||||
'movies' : movies
|
||||
})
|
||||
|
||||
# 查找 "下一页" 按钮
|
||||
next_page_element = soup.find('a', class_='pagination-next')
|
||||
if next_page_element:
|
||||
next_page_url = next_page_element['href']
|
||||
next_page_number = url_page_num(next_page_url)
|
||||
current_page_number = url_page_num(href)
|
||||
if current_page_number is None:
|
||||
current_page_number = 0
|
||||
if next_page_number and next_page_number > current_page_number :
|
||||
next_url = host_url + next_page_url
|
||||
|
||||
return list_data, next_url
|
||||
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_series_detail(soup, href):
|
||||
div_movies = soup.find("div", class_='movie-list h cols-4 vcols-5')
|
||||
if not div_movies:
|
||||
logging.warning(f"Warning: No movies div found ")
|
||||
return [], None
|
||||
|
||||
# 解析元素
|
||||
rows = div_movies.find_all('div', class_='item')
|
||||
|
||||
list_data = []
|
||||
next_url = None
|
||||
for row in rows:
|
||||
link = row.find('a', class_='box')['href']
|
||||
serial_number = row.find('strong').text.strip()
|
||||
title = row.find('div', class_='video-title').text.strip()
|
||||
release_date = row.find('div', class_='meta').text.strip()
|
||||
list_data.append({
|
||||
'href' : host_url + link if link else '',
|
||||
'serial_number' : serial_number,
|
||||
'title' : title,
|
||||
'release_date': release_date
|
||||
})
|
||||
|
||||
# 查找 "下一页" 按钮
|
||||
next_page_element = soup.find('a', class_='pagination-next')
|
||||
if next_page_element:
|
||||
next_page_url = next_page_element['href']
|
||||
next_page_number = url_page_num(next_page_url)
|
||||
current_page_number = url_page_num(href)
|
||||
if current_page_number is None:
|
||||
current_page_number = 0
|
||||
if next_page_number and next_page_number > current_page_number :
|
||||
next_url = host_url + next_page_url
|
||||
|
||||
return list_data, next_url
|
||||
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_makers_uncensored(soup, href):
|
||||
div_series = soup.find("div", id='makers')
|
||||
if not div_series:
|
||||
logging.warning(f"Warning: No makers div found ")
|
||||
return None, None
|
||||
|
||||
# 解析元素
|
||||
rows = div_series.find_all('a', class_='box')
|
||||
|
||||
list_data = []
|
||||
next_url = None
|
||||
for row in rows:
|
||||
name = row.find('strong').text.strip()
|
||||
href = row['href']
|
||||
div_movies = row.find('span')
|
||||
movies = 0
|
||||
if div_movies:
|
||||
match = re.search(r'\((\d+)\)', div_movies.text.strip())
|
||||
if match:
|
||||
movies = int(match.group(1))
|
||||
|
||||
list_data.append({
|
||||
'name' : name,
|
||||
'href' : host_url + href if href else '',
|
||||
'movies' : movies
|
||||
})
|
||||
|
||||
# 查找 "下一页" 按钮
|
||||
next_page_element = soup.find('a', class_='pagination-next')
|
||||
if next_page_element:
|
||||
next_page_url = next_page_element['href']
|
||||
next_page_number = url_page_num(next_page_url)
|
||||
current_page_number = url_page_num(href)
|
||||
if current_page_number is None:
|
||||
current_page_number = 0
|
||||
if next_page_number and next_page_number > current_page_number :
|
||||
next_url = host_url + next_page_url
|
||||
|
||||
return list_data, next_url
|
||||
|
||||
|
||||
# 解析 HTML 内容,提取需要的数据
|
||||
def parse_maker_detail(soup, href):
|
||||
div_movies = soup.find("div", class_='movie-list h cols-4 vcols-5')
|
||||
if not div_movies:
|
||||
logging.warning(f"Warning: No movies div found ")
|
||||
return [], None
|
||||
|
||||
# 解析元素
|
||||
rows = div_movies.find_all('div', class_='item')
|
||||
|
||||
list_data = []
|
||||
next_url = None
|
||||
for row in rows:
|
||||
link = row.find('a', class_='box')['href']
|
||||
serial_number = row.find('strong').text.strip()
|
||||
title = row.find('div', class_='video-title').text.strip()
|
||||
release_date = row.find('div', class_='meta').text.strip()
|
||||
list_data.append({
|
||||
'href' : host_url + link if link else '',
|
||||
'serial_number' : serial_number,
|
||||
'title' : title,
|
||||
'release_date': release_date
|
||||
})
|
||||
|
||||
# 查找 "下一页" 按钮
|
||||
next_page_element = soup.find('a', class_='pagination-next')
|
||||
if next_page_element:
|
||||
next_page_url = next_page_element['href']
|
||||
next_page_number = url_page_num(next_page_url)
|
||||
current_page_number = url_page_num(href)
|
||||
if current_page_number is None:
|
||||
current_page_number = 0
|
||||
if next_page_number and next_page_number > current_page_number :
|
||||
next_url = host_url + next_page_url
|
||||
|
||||
return list_data, next_url
|
||||
|
||||
|
||||
|
||||
###### 以下为测试代码 ######
|
||||
def test_actors_list():
|
||||
next_url = actors_uncensored_base_url
|
||||
while next_url:
|
||||
print(f'fetching page {next_url}')
|
||||
soup = fetch_page(next_url, partial(generic_validator, tag="div", identifier="actors", attr_type="id"))
|
||||
if soup:
|
||||
list_data, next_url = parse_actors_uncensored(soup, next_url)
|
||||
if list_data :
|
||||
print(list_data)
|
||||
else:
|
||||
print('get wrong page.')
|
||||
if next_url:
|
||||
print(next_url)
|
||||
break
|
||||
|
||||
def test_actor():
|
||||
next_url = 'https://javdb.com/actors/mdRn'
|
||||
all_data = []
|
||||
while next_url:
|
||||
print(f'fetching page {next_url}')
|
||||
soup = fetch_page(next_url, partial(generic_validator, tag="div", identifier="movie-list h cols-4 vcols-5", attr_type="class"))
|
||||
if soup:
|
||||
list_data, next_url = parse_actor_detail(soup, next_url)
|
||||
if list_data :
|
||||
all_data.extend(list_data)
|
||||
else:
|
||||
print('get wrong page.')
|
||||
print(all_data)
|
||||
|
||||
def test_movie_detail():
|
||||
movie_url = 'https://javdb.com/v/gB2Q7'
|
||||
while True:
|
||||
soup = fetch_page(movie_url, partial(generic_validator, tag="div", identifier="video-detail", attr_type="class"))
|
||||
if soup:
|
||||
detail = parse_movie_detail(soup, movie_url, 'RED193 無碼 レッドホットフェティッシュコレクション 中出し120連発 4 : 波多野結衣, 愛乃なみ, 夢実あくび, 他多数')
|
||||
if detail:
|
||||
print(detail)
|
||||
break
|
||||
|
||||
|
||||
def test_series_list():
|
||||
next_url = 'https://javdb.com/series/uncensored'
|
||||
all_data = []
|
||||
while next_url:
|
||||
print(f'fetching page {next_url}')
|
||||
soup = fetch_page(next_url, partial(generic_validator, tag="div", identifier="series", attr_type="id"))
|
||||
if soup:
|
||||
list_data, next_url = parse_series_uncensored(soup, next_url)
|
||||
if list_data :
|
||||
all_data.extend(list_data)
|
||||
else:
|
||||
print('get wrong page.')
|
||||
break
|
||||
|
||||
print(all_data)
|
||||
|
||||
def test_series_detail():
|
||||
next_url = 'https://javdb.com/series/39za'
|
||||
all_data = []
|
||||
while next_url:
|
||||
print(f'fetching page {next_url}')
|
||||
soup = fetch_page(next_url, partial(generic_validator, tag="div", identifier="movie-list h cols-4 vcols-5", attr_type="class"))
|
||||
if soup:
|
||||
list_data, next_url = parse_series_detail(soup, next_url)
|
||||
if list_data :
|
||||
all_data.extend(list_data)
|
||||
else:
|
||||
print('get wrong page.')
|
||||
print(all_data)
|
||||
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
#test_actors_list()
|
||||
#test_actor()
|
||||
test_movie_detail()
|
||||
#test_series_list()
|
||||
#test_series_detail()
|
||||
|
||||
|
||||
599
javdb/src/sqlite_utils.py
Normal file
599
javdb/src/sqlite_utils.py
Normal file
@ -0,0 +1,599 @@
|
||||
import sqlite3
|
||||
import json
|
||||
import config
|
||||
import logging
|
||||
from datetime import datetime
|
||||
|
||||
# 连接 SQLite 数据库
|
||||
DB_PATH = f"{config.global_share_data_dir}/shared.db" # 替换为你的数据库文件
|
||||
conn = sqlite3.connect(DB_PATH, check_same_thread=False)
|
||||
cursor = conn.cursor()
|
||||
|
||||
# """从指定表中通过 href 查找 id"""
|
||||
def get_id_by_href(table: str, href: str) -> int:
|
||||
if href is None:
|
||||
return None
|
||||
cursor.execute(f"SELECT id FROM {table} WHERE href = ?", (href,))
|
||||
row = cursor.fetchone()
|
||||
return row[0] if row else None
|
||||
|
||||
|
||||
def insert_actor_index(name, href, from_actor_list=None, from_movie_list=None):
|
||||
try:
|
||||
# **查询是否已存在该演员**
|
||||
cursor.execute("SELECT id, name, from_actor_list, from_movie_list FROM javdb_actors WHERE href = ?", (href,))
|
||||
existing_actor = cursor.fetchone()
|
||||
|
||||
if existing_actor: # **如果演员已存在**
|
||||
actor_id, existing_name, existing_actor_list, existing_movie_list = existing_actor
|
||||
|
||||
# **如果没有传入值,则保持原有值**
|
||||
from_actor_list = from_actor_list if from_actor_list is not None else existing_actor_list
|
||||
from_movie_list = from_movie_list if from_movie_list is not None else existing_movie_list
|
||||
|
||||
cursor.execute("""
|
||||
UPDATE javdb_actors
|
||||
SET name = ?,
|
||||
from_actor_list = ?,
|
||||
from_movie_list = ?,
|
||||
updated_at = datetime('now', 'localtime')
|
||||
WHERE href = ?
|
||||
""", (name, from_actor_list, from_movie_list, href))
|
||||
else: # **如果演员不存在,插入**
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_actors (href, name, from_actor_list, from_movie_list)
|
||||
VALUES (?, ?, COALESCE(?, 0), COALESCE(?, 0))
|
||||
""", (href, name, from_actor_list, from_movie_list))
|
||||
|
||||
conn.commit()
|
||||
|
||||
performer_id = get_id_by_href('javdb_actors', href)
|
||||
if performer_id:
|
||||
logging.debug(f'Inserted/Updated actor index, id: {performer_id}, name: {name}, href: {href}')
|
||||
|
||||
return performer_id
|
||||
|
||||
except sqlite3.Error as e:
|
||||
conn.rollback()
|
||||
logging.error(f"数据库错误: {e}")
|
||||
return None
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
logging.error(f"未知错误: {e}")
|
||||
return None
|
||||
|
||||
def insert_movie_index(title, href, from_actor_list=None, from_movie_makers=None, from_movie_series=None):
|
||||
try:
|
||||
# **先检查数据库中是否已有该电影**
|
||||
cursor.execute("SELECT id, from_actor_list, from_movie_makers, from_movie_series FROM javdb_movies WHERE href = ?", (href,))
|
||||
existing_movie = cursor.fetchone()
|
||||
|
||||
if existing_movie: # **如果电影已存在**
|
||||
movie_id, existing_actor, existing_maker, existing_series = existing_movie
|
||||
|
||||
# **如果没有传入值,就用原来的值**
|
||||
from_actor_list = from_actor_list if from_actor_list is not None else existing_actor
|
||||
from_movie_makers = from_movie_makers if from_movie_makers is not None else existing_maker
|
||||
from_movie_series = from_movie_series if from_movie_series is not None else existing_series
|
||||
|
||||
cursor.execute("""
|
||||
UPDATE javdb_movies
|
||||
SET title = ?,
|
||||
from_actor_list = ?,
|
||||
from_movie_makers = ?,
|
||||
from_movie_series = ?,
|
||||
updated_at = datetime('now', 'localtime')
|
||||
WHERE href = ?
|
||||
""", (title, from_actor_list, from_movie_makers, from_movie_series, href))
|
||||
else: # **如果电影不存在,插入**
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_movies (title, href, from_actor_list, from_movie_makers, from_movie_series)
|
||||
VALUES (?, ?, COALESCE(?, 0), COALESCE(?, 0), COALESCE(?, 0))
|
||||
""", (title, href, from_actor_list, from_movie_makers, from_movie_series))
|
||||
|
||||
conn.commit()
|
||||
|
||||
movie_id = get_id_by_href('javdb_movies', href)
|
||||
if movie_id:
|
||||
logging.debug(f'Inserted/Updated movie index, id: {movie_id}, title: {title}, href: {href}')
|
||||
|
||||
return movie_id
|
||||
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
logging.error(f"Error inserting/updating movie: {e}")
|
||||
return None
|
||||
|
||||
|
||||
# 插入演员和电影的关联数据
|
||||
def insert_actor_movie(performer_id, movie_id, tags=''):
|
||||
try:
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_actors_movies (actor_id, movie_id, tags)
|
||||
VALUES (?, ?, ?)
|
||||
ON CONFLICT(actor_id, movie_id) DO UPDATE SET tags=excluded.tags
|
||||
""",
|
||||
(performer_id, movie_id, tags)
|
||||
)
|
||||
conn.commit()
|
||||
|
||||
#logging.debug(f'insert one performer_movie, performer_id: {performer_id}, movie_id: {movie_id}')
|
||||
|
||||
return performer_id
|
||||
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
logging.error("Error inserting movie: %s", e)
|
||||
return None
|
||||
|
||||
# 插入演员数据
|
||||
def insert_or_update_actor(actor):
|
||||
try:
|
||||
cursor.execute('''
|
||||
INSERT INTO javdb_actors (name, href, pic, is_full_data, updated_at)
|
||||
VALUES (?, ?, ?, 1, datetime('now', 'localtime'))
|
||||
ON CONFLICT(href) DO UPDATE SET name=excluded.name, pic=excluded.pic, is_full_data=1, updated_at=datetime('now', 'localtime')
|
||||
''', (actor['name'], actor['href'], actor['pic']))
|
||||
|
||||
cursor.execute('SELECT id FROM javdb_actors WHERE href = ?', (actor['href'],))
|
||||
conn.commit()
|
||||
|
||||
actor_id = get_id_by_href('javdb_actors', actor['href'])
|
||||
if actor_id is None:
|
||||
logging.warning(f'insert data error. name: {actor['name']}, href: {actor['href']}')
|
||||
return None
|
||||
|
||||
logging.debug(f'insert one actor, id: {actor_id}, name: {actor['name']}, href: {actor['href']}')
|
||||
|
||||
# 插入别名
|
||||
for alias in actor.get("alias") or []:
|
||||
cursor.execute('''
|
||||
INSERT OR IGNORE INTO javdb_actors_alias (actor_id, alias, updated_at)
|
||||
VALUES (?, ?, datetime('now', 'localtime'))
|
||||
''', (actor_id, alias))
|
||||
|
||||
conn.commit()
|
||||
|
||||
# 插入影片列表
|
||||
for movie in actor.get("credits") or []:
|
||||
movie_id = get_id_by_href('javdb_movies', movie['href'])
|
||||
# 影片不存在,先插入
|
||||
if movie_id is None:
|
||||
movie_id = insert_movie_index(movie['title'], movie['href'], from_actor_list=1)
|
||||
if movie_id:
|
||||
tmp_id = insert_actor_movie(actor_id, movie_id)
|
||||
if tmp_id :
|
||||
logging.debug(f'insert one performer_movie, performer_id: {actor_id}, movie_id: {movie_id}')
|
||||
else:
|
||||
logging.warning(f'insert performer_movie failed. performer_id: {actor_id}, moive href: {movie['href']}')
|
||||
|
||||
return actor_id
|
||||
except Exception as e:
|
||||
logging.error(f"插入/更新演员 {actor['name']} 失败: {e}")
|
||||
conn.rollback()
|
||||
|
||||
# 删除演员
|
||||
def delete_actor_by_href(href):
|
||||
try:
|
||||
cursor.execute('DELETE FROM javdb_actors WHERE href = ?', (href,))
|
||||
conn.commit()
|
||||
logging.info(f"成功删除演员: {href}")
|
||||
except Exception as e:
|
||||
logging.error(f"删除演员 {href} 失败: {e}")
|
||||
conn.rollback()
|
||||
|
||||
# 查询
|
||||
def query_actors(**filters):
|
||||
try:
|
||||
sql = "SELECT href, name FROM javdb_actors WHERE 1=1"
|
||||
params = []
|
||||
|
||||
if "id" in filters:
|
||||
sql += " AND id = ?"
|
||||
params.append(filters["id"])
|
||||
if "href" in filters:
|
||||
sql += " AND href = ?"
|
||||
params.append(filters["href"])
|
||||
if "name" in filters:
|
||||
sql += " AND name LIKE ?"
|
||||
params.append(f"%{filters['name']}%")
|
||||
if "is_full_data" in filters:
|
||||
sql += " AND is_full_data = ?"
|
||||
params.append(filters["is_full_data"])
|
||||
if 'limit' in filters:
|
||||
sql += " limit ?"
|
||||
params.append(filters["limit"])
|
||||
|
||||
cursor.execute(sql, params)
|
||||
#return [row[0].lower() for row in cursor.fetchall()] # 返回小写
|
||||
return [{'href': row[0], 'name': row[1]} for row in cursor.fetchall()]
|
||||
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询 href 失败: {e}")
|
||||
return None
|
||||
|
||||
|
||||
# 插入或更新发行商 """
|
||||
def insert_or_update_makers(data):
|
||||
try:
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_makers (name, href, updated_at)
|
||||
VALUES (?, ? , datetime('now', 'localtime'))
|
||||
ON CONFLICT(href) DO UPDATE SET
|
||||
name = excluded.name,
|
||||
updated_at = datetime('now', 'localtime')
|
||||
""", (data["name"], data["href"]))
|
||||
conn.commit()
|
||||
|
||||
# 获取 performer_id
|
||||
cursor.execute("SELECT id FROM javdb_makers WHERE href = ?", (data["href"],))
|
||||
dist_id = cursor.fetchone()[0]
|
||||
if dist_id:
|
||||
logging.debug(f"成功插入/更新发行商: {data['name']}")
|
||||
return dist_id
|
||||
else:
|
||||
return None
|
||||
except sqlite3.Error as e:
|
||||
conn.rollback()
|
||||
logging.error(f"数据库错误: {e}")
|
||||
return None
|
||||
|
||||
# 删除发行商(按 id 或 name) """
|
||||
def delete_maker(identifier):
|
||||
try:
|
||||
if isinstance(identifier, int):
|
||||
cursor.execute("DELETE FROM javdb_makers WHERE id = ?", (identifier,))
|
||||
elif isinstance(identifier, str):
|
||||
cursor.execute("DELETE FROM javdb_makers WHERE name = ?", (identifier,))
|
||||
conn.commit()
|
||||
logging.info(f"成功删除发行商: {identifier}")
|
||||
except sqlite3.Error as e:
|
||||
conn.rollback()
|
||||
logging.error(f"删除失败: {e}")
|
||||
|
||||
# 查询发行商(按 id 或 name) """
|
||||
def query_maker(identifier):
|
||||
try:
|
||||
if isinstance(identifier, int):
|
||||
cursor.execute("SELECT * FROM javdb_makers WHERE id = ?", (identifier,))
|
||||
else:
|
||||
cursor.execute("SELECT * FROM javdb_makers WHERE name LIKE ?", (f"%{identifier}%",))
|
||||
|
||||
distributor = cursor.fetchone()
|
||||
if distributor:
|
||||
return dict(zip([desc[0] for desc in cursor.description], distributor))
|
||||
else:
|
||||
logging.warning(f"未找到发行商: {identifier}")
|
||||
return None
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询失败: {e}")
|
||||
return None
|
||||
|
||||
# 按条件查询 href 列表
|
||||
def query_maker_hrefs(**filters):
|
||||
try:
|
||||
sql = "SELECT href FROM javdb_makers WHERE 1=1"
|
||||
params = []
|
||||
|
||||
if "id" in filters:
|
||||
sql += " AND id = ?"
|
||||
params.append(filters["id"])
|
||||
if "url" in filters:
|
||||
sql += " AND href = ?"
|
||||
params.append(filters["href"])
|
||||
if "name" in filters:
|
||||
sql += " AND name LIKE ?"
|
||||
params.append(f"%{filters['name']}%")
|
||||
|
||||
cursor.execute(sql, params)
|
||||
return [row[0] for row in cursor.fetchall()] # 链接使用小写
|
||||
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询 href 失败: {e}")
|
||||
return None
|
||||
|
||||
# """ 插入或更新制作公司 """
|
||||
def insert_or_update_series(data):
|
||||
try:
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_series (name, href, updated_at)
|
||||
VALUES (?, ?, datetime('now', 'localtime'))
|
||||
ON CONFLICT(href) DO UPDATE SET
|
||||
name = excluded.name,
|
||||
updated_at = datetime('now', 'localtime')
|
||||
""", (data["name"], data["href"]))
|
||||
conn.commit()
|
||||
|
||||
# 获取 performer_id
|
||||
cursor.execute("SELECT id FROM javdb_series WHERE href = ?", (data["href"],))
|
||||
stu_id = cursor.fetchone()[0]
|
||||
if stu_id:
|
||||
logging.debug(f"成功插入/更新发行商: {data['name']}")
|
||||
return stu_id
|
||||
else:
|
||||
return None
|
||||
except sqlite3.Error as e:
|
||||
conn.rollback()
|
||||
logging.error(f"数据库错误: {e}")
|
||||
return None
|
||||
|
||||
# """ 删除制作公司(按 id 或 name) """
|
||||
def delete_series(identifier):
|
||||
try:
|
||||
if isinstance(identifier, int):
|
||||
cursor.execute("DELETE FROM javdb_series WHERE id = ?", (identifier,))
|
||||
elif isinstance(identifier, str):
|
||||
cursor.execute("DELETE FROM javdb_series WHERE name = ?", (identifier,))
|
||||
conn.commit()
|
||||
logging.info(f"成功删除制作公司: {identifier}")
|
||||
except sqlite3.Error as e:
|
||||
conn.rollback()
|
||||
logging.error(f"删除失败: {e}")
|
||||
|
||||
# """ 查询制作公司(按 id 或 name) """
|
||||
def query_series(identifier):
|
||||
try:
|
||||
if isinstance(identifier, int):
|
||||
cursor.execute("SELECT * FROM javdb_series WHERE id = ?", (identifier,))
|
||||
else:
|
||||
cursor.execute("SELECT * FROM javdb_series WHERE name LIKE ?", (f"%{identifier}%",))
|
||||
|
||||
studio = cursor.fetchone()
|
||||
if studio:
|
||||
return dict(zip([desc[0] for desc in cursor.description], studio))
|
||||
else:
|
||||
logging.warning(f"未找到制作公司: {identifier}")
|
||||
return None
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询失败: {e}")
|
||||
return None
|
||||
|
||||
# 按条件查询 href 列表
|
||||
def query_series_hrefs(**filters):
|
||||
try:
|
||||
sql = "SELECT href FROM javdb_series WHERE 1=1"
|
||||
params = []
|
||||
|
||||
if "id" in filters:
|
||||
sql += " AND id = ?"
|
||||
params.append(filters["id"])
|
||||
if "href" in filters:
|
||||
sql += " AND href = ?"
|
||||
params.append(filters["href"])
|
||||
if "name" in filters:
|
||||
sql += " AND name LIKE ?"
|
||||
params.append(f"%{filters['name']}%")
|
||||
|
||||
cursor.execute(sql, params)
|
||||
return [row[0] for row in cursor.fetchall()] # 链接使用小写
|
||||
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询 href 失败: {e}")
|
||||
return None
|
||||
|
||||
|
||||
# """插入或更新电影数据"""
|
||||
def insert_or_update_movie(movie):
|
||||
try:
|
||||
# 获取相关 ID
|
||||
makers_id = get_id_by_href('javdb_makers', movie['maker_link'])
|
||||
series_id = get_id_by_href('javdb_series', movie['series_link'])
|
||||
|
||||
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_movies (href, title, cover_url, serial_number, release_date, duration,
|
||||
maker_id, series_id, is_full_data, updated_at)
|
||||
VALUES (?, ?, ?, ?, ?, ?, ?, ?, 1, datetime('now', 'localtime'))
|
||||
ON CONFLICT(href) DO UPDATE SET
|
||||
title=excluded.title,
|
||||
cover_url=excluded.cover_url,
|
||||
serial_number=excluded.serial_number,
|
||||
release_date=excluded.release_date,
|
||||
duration=excluded.duration,
|
||||
maker_id=excluded.maker_id,
|
||||
series_id=excluded.series_id,
|
||||
is_full_data=1,
|
||||
updated_at=datetime('now', 'localtime')
|
||||
""", (movie['href'], movie['title'], movie['cover_url'], movie['serial_number'],
|
||||
movie['release_date'], movie['duration'], makers_id, series_id))
|
||||
|
||||
conn.commit()
|
||||
|
||||
# 获取插入的 movie_id
|
||||
movie_id = get_id_by_href('javdb_movies', movie['href'])
|
||||
if movie_id is None:
|
||||
return None
|
||||
|
||||
logging.debug(f'insert one move, id: {movie_id}, title: {movie['title']}, href: {movie['href']}')
|
||||
|
||||
# 插入 performers_movies 关系表
|
||||
for performer in movie.get('actors', []):
|
||||
performer_id = get_id_by_href('javdb_actors', performer['href'])
|
||||
# 如果演员不存在,先插入
|
||||
if performer_id is None:
|
||||
performer_id = insert_actor_index(performer['name'], performer['href'], from_movie_list=1)
|
||||
if performer_id:
|
||||
tmp_id = insert_actor_movie(performer_id, movie_id)
|
||||
if tmp_id:
|
||||
logging.debug(f"insert one perfomer_movie. perfomer_id: {performer_id}, movie_id:{movie_id}")
|
||||
else:
|
||||
logging.debug(f'insert perfomer_movie failed. perfomer_id: {performer_id}, movie_id:{movie_id}')
|
||||
else:
|
||||
logging.warning(f'insert perfomer failed. name: {performer['name']}, href: {performer['href']}')
|
||||
|
||||
return movie_id
|
||||
|
||||
except Exception as e:
|
||||
conn.rollback()
|
||||
logging.error("Error inserting movie: %s", e)
|
||||
return None
|
||||
|
||||
# 删除电影数据"""
|
||||
def delete_movie(identifier):
|
||||
try:
|
||||
if isinstance(identifier, int):
|
||||
cursor.execute("DELETE FROM javdb_movies WHERE id = ?", (identifier,))
|
||||
elif isinstance(identifier, str):
|
||||
cursor.execute("DELETE FROM javdb_movies WHERE href = ?", (identifier,))
|
||||
else:
|
||||
logging.warning("无效的删除参数")
|
||||
return
|
||||
conn.commit()
|
||||
logging.info(f"Deleted movie with {identifier}")
|
||||
|
||||
except sqlite3.Error as e:
|
||||
conn.rollback()
|
||||
logging.error("Error deleting movie: %s", e)
|
||||
|
||||
# 查找电影数据"""
|
||||
def query_movies(identifier):
|
||||
try:
|
||||
if isinstance(identifier, int):
|
||||
cursor.execute("SELECT * FROM javdb_movies WHERE id = ?", (identifier,))
|
||||
elif "http" in identifier:
|
||||
cursor.execute("SELECT * FROM javdb_movies WHERE href = ?", (identifier,))
|
||||
else:
|
||||
cursor.execute("SELECT * FROM javdb_movies WHERE title LIKE ?", (f"%{identifier}%",))
|
||||
|
||||
movie = cursor.fetchone()
|
||||
if movie:
|
||||
cursor.execute("SELECT * FROM javdb_actors_movies WHERE performer_id = ?", (movie[0],))
|
||||
performers = [row[0] for row in cursor.fetchall()]
|
||||
result = dict(zip([desc[0] for desc in cursor.description], performers))
|
||||
result["performers"] = performers
|
||||
return result
|
||||
else:
|
||||
logging.warning(f"find no data: {identifier}")
|
||||
return None
|
||||
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询失败: {e}")
|
||||
return None
|
||||
|
||||
# 按条件查询 href 列表
|
||||
def query_movie_hrefs(**filters):
|
||||
try:
|
||||
sql = "SELECT href, title FROM javdb_movies WHERE 1=1"
|
||||
params = []
|
||||
|
||||
if "id" in filters:
|
||||
sql += " AND id = ?"
|
||||
params.append(filters["id"])
|
||||
if "href" in filters:
|
||||
sql += " AND href = ?"
|
||||
params.append(filters["href"])
|
||||
if "title" in filters:
|
||||
sql += " AND title LIKE ?"
|
||||
params.append(f"%{filters['title']}%")
|
||||
if "is_full_data" in filters:
|
||||
sql += " AND is_full_data = ?"
|
||||
params.append(filters["is_full_data"])
|
||||
if 'limit' in filters:
|
||||
sql += " limit ?"
|
||||
params.append(filters["limit"])
|
||||
|
||||
cursor.execute(sql, params)
|
||||
#return [row[0].lower() for row in cursor.fetchall()] # 链接使用小写
|
||||
return [{'href': row[0], 'title': row[1]} for row in cursor.fetchall()]
|
||||
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"查询 href 失败: {e}")
|
||||
return []
|
||||
|
||||
# 插入一条任务日志
|
||||
def insert_task_log():
|
||||
try:
|
||||
cursor.execute("""
|
||||
INSERT INTO javdb_task_log (task_status) VALUES ('Start')
|
||||
""")
|
||||
conn.commit()
|
||||
|
||||
task_id = cursor.lastrowid
|
||||
if task_id is None:
|
||||
return None
|
||||
update_task_log(task_id=task_id, task_status='Start')
|
||||
|
||||
return task_id # 获取插入的 task_id
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"插入任务失败: {e}")
|
||||
return None
|
||||
|
||||
# 更新任务日志的字段
|
||||
def update_task_log_inner(task_id, **kwargs):
|
||||
try:
|
||||
fields = ", ".join(f"{key} = ?" for key in kwargs.keys())
|
||||
params = list(kwargs.values()) + [task_id]
|
||||
|
||||
sql = f"UPDATE javdb_task_log SET {fields}, updated_at = datetime('now', 'localtime') WHERE task_id = ?"
|
||||
cursor.execute(sql, params)
|
||||
conn.commit()
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"更新任务 {task_id} 失败: {e}")
|
||||
|
||||
# 更新任务日志的字段
|
||||
def update_task_log(task_id, task_status):
|
||||
try:
|
||||
# 获取 performers、studios 等表的最终行数
|
||||
cursor.execute("SELECT COUNT(*) FROM javdb_actors where is_full_data=1")
|
||||
full_data_actors = cursor.fetchone()[0]
|
||||
cursor.execute("SELECT COUNT(*) FROM javdb_actors")
|
||||
total_actors = cursor.fetchone()[0]
|
||||
|
||||
cursor.execute("SELECT COUNT(*) FROM javdb_movies where is_full_data=1")
|
||||
full_data_movies = cursor.fetchone()[0]
|
||||
cursor.execute("SELECT COUNT(*) FROM javdb_movies")
|
||||
total_movies = cursor.fetchone()[0]
|
||||
|
||||
cursor.execute("SELECT COUNT(*) FROM javdb_makers")
|
||||
total_makers = cursor.fetchone()[0]
|
||||
|
||||
cursor.execute("SELECT COUNT(*) FROM javdb_series")
|
||||
total_series = cursor.fetchone()[0]
|
||||
|
||||
# 更新 task_log
|
||||
update_task_log_inner(task_id,
|
||||
full_data_actors=full_data_actors,
|
||||
total_actors=total_actors,
|
||||
full_data_movies=full_data_movies,
|
||||
total_movies=total_movies,
|
||||
total_makers=total_makers,
|
||||
total_series=total_series,
|
||||
task_status=task_status)
|
||||
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"更新任务 {task_id} 失败: {e}")
|
||||
|
||||
|
||||
# 任务结束,更新字段
|
||||
def finalize_task_log(task_id):
|
||||
try:
|
||||
# 更新 task_log
|
||||
update_task_log(task_id, task_status="Success")
|
||||
except sqlite3.Error as e:
|
||||
logging.error(f"任务 {task_id} 结束失败: {e}")
|
||||
|
||||
|
||||
# 测试代码
|
||||
if __name__ == "__main__":
|
||||
|
||||
sample_data = [
|
||||
{
|
||||
'name': '上原亜衣',
|
||||
'href': 'https://www.javdb.com/actors/MkAX',
|
||||
'pic': 'https://c0.jdbstatic.com/avatars/mk/MkAX.jpg',
|
||||
'alias': ['上原亜衣', '下原舞', '早瀬クリスタル', '阿蘇山百式屏風奉行']
|
||||
},
|
||||
{
|
||||
'name': '大橋未久',
|
||||
'href': 'https://www.javdb.com/actors/21Jp',
|
||||
'pic': 'https://c0.jdbstatic.com/avatars/21/21Jp.jpg',
|
||||
'alias': ['大橋未久']
|
||||
},
|
||||
]
|
||||
|
||||
for actor in sample_data:
|
||||
insert_or_update_actor(actor)
|
||||
|
||||
print(query_actors("name LIKE '%未久%'"))
|
||||
#delete_actor_by_href('https://www.javdb.com/actors/MkAX')
|
||||
print(query_actors())
|
||||
18
javdb/src/utils.py
Normal file
18
javdb/src/utils.py
Normal file
@ -0,0 +1,18 @@
|
||||
import re
|
||||
import os
|
||||
import json
|
||||
import time
|
||||
import csv
|
||||
from urllib.parse import urlparse
|
||||
import logging
|
||||
|
||||
|
||||
# 去掉 https://www.javdb.com/makers/16w?f=download 后面的参数
|
||||
def remove_url_query(url: str) -> str:
|
||||
try:
|
||||
parsed_url = urlparse(url)
|
||||
clean_url = f"{parsed_url.scheme}://{parsed_url.netloc}{parsed_url.path}"
|
||||
return clean_url
|
||||
except Exception as e:
|
||||
print(f"解析 URL 失败: {e}")
|
||||
return url
|
||||
Reference in New Issue
Block a user