LoginSignup
1
2

More than 1 year has passed since last update.

【判明】セクシー女優に多いのはあの名前!?【DMM.com】女優APIを使って名字・名前ランキングを100位まで一挙公開!

Posted at

こんにちは あるいは こんばんは。田中です。

ツイッターはwork_Tanakaです。

今後ともDMM関連の情報はつぶやいて行くと思うのでQiita・Twitterのフォローよろしくお願いします!

今回はセクシー女優に多い苗字と名前ランキングを作ってみたのでご査収ください。

名字ランキング1位

はえある1位は・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

261人 いらっしゃる 桜井 さんでした!

名前ランキング1位

はえある1位は・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

・・・・

243人 いらっしゃる さやか さんでした!

名字ランキング

つづいて名字ランキング一挙公開

Rank 名字
1 桜井 261
2 鈴木 261
3 佐藤 228
4 青山 199
5 高橋 188
6 星野 180
7 椎名 177
8 伊藤 176
9 上原 174
10 長谷川 173
11 山口 172
12 白石 171
13 加藤 168
14 162
15 佐々木 159
16 田中 158
17 青木 157
18 水野 155
19 144
20 望月 141
21 山本 139
22 立花 137
23 三浦 136
24 井上 136
25 小林 135
26 斉藤 135
27 木村 129
28 中村 128
29 小川 128
30 水沢 125
31 小泉 124
32 木下 124
33 松本 124
34 麻生 123
35 結城 121
36 今井 120
37 葉月 120
38 石川 119
39 藤崎 119
40 佐伯 118
41 中山 116
42 渡辺 115
43 吉田 111
44 安藤 111
45 吉川 110
46 神崎 110
47 杉本 108
48 相沢 108
49 河合 107
50 柏木 104
51 川村 102
52 工藤 102
53 後藤 101
54 竹内 101
55 綾瀬 101
56 七瀬 100
57 北川 100
58 藤原 100
59 葉山 99
60 早川 98
61 朝倉 98
62 広瀬 96
63 清水 96
64 篠原 96
65 95
66 94
67 酒井 93
68 山下 92
69 松田 92
70 森下 92
71 黒木 92
72 山田 91
73 遠藤 91
74 宮崎 90
75 藤井 89
76 如月 88
77 川島 88
78 安西 87
79 橋本 87
80 水原 87
81 沢田 87
82 神田 87
83 原田 85
84 岡田 85
85 相原 85
86 内田 84
87 西野 84
88 前田 82
89 吉野 82
90 坂本 82
91 一ノ瀬 81
92 松下 81
93 瀬戸 81
94 五十嵐 79
95 椿 79
96 秋山 79
97 小野 77
98 桜木 77
99 雨宮 77
100 中川 76

名前ランキング

つづいて名前ランキング一挙公開

Rank given-fix count given-fix
1 さやか 243
2 ゆい 228
3 ゆかり 217
4 さくら 216
5 ひとみ 209
6 ゆり 206
7 かおり 196
8 涼子 185
9 めぐみ 177
10 はるか 174
11 172
12 あゆみ 166
13 みなみ 162
14 まどか 161
15 京子 161
16 あや 154
17 ひかる 154
18 152
19 152
20 あい 150
21 ゆう 146
22 ゆき 146
23 145
24 優子 143
25 いずみ 140
26 みゆき 139
27 美穂 139
28 まゆ 138
29 あずさ 136
30 ありさ 132
31 ひかり 130
32 まい 127
33 127
34 まり 124
35 あかね 123
36 あみ 123
37 あかり 122
38 みどり 122
39 さゆり 120
40 りな 119
41 由美 119
42 りん 118
43 美咲 117
44 陽子 117
45 かすみ 116
46 亜美 116
47 奈々 115
48 あおい 113
49 沙織 113
50 香織 113
51 麗子 113
52 洋子 112
53 しおり 110
54 すみれ 110
55 もも 110
56 美香 110
57 ひな 109
58 静香 109
59 なな 108
60 107
61 麻美 107
62 みゆ 104
63 まゆみ 103
64 未来 101
65 くるみ 100
66 さおり 100
67 恵子 100
68 愛美 100
69 みく 99
70 あすか 98
71 なつみ 98
72 のぞみ 98
73 恭子 93
74 玲子 93
75 美樹 93
76 麻衣 93
77 さつき 92
78 美紀 92
79 ちひろ 89
80 89
81 まみ 88
82 久美 88
83 千夏 88
84 玲奈 88
85 レイ 87
86 あいり 86
87 かな 86
88 みき 86
89 るい 86
90 優香 86
91 86
92 翔子 86
93 ひろみ 85
94 真理 85
95 めい 84
96 れい 84
97 あき 83
98 かおる 83
99 83
100 美沙 83

名字と名前どちらも一位の方

桜井さやかさん!
実際に存在しました!

やり方とコード

女優APIの使い方はこちらのQiitaがよくまとまっている気がします

やり方

  1. 女優APIから全女優を取得してTSVに落とす(2022.06.25時点で55590件ほどの女優数でした)
  2. 名字をわけるAPIをlocalhost:8000に建てる(MITライセンスのnamedivider-pythonを使用)
  3. スプレッドシートで加工

特に解説はしませんがこんな感じで名字を分けてます。

// @ts-ignore
const divideFamilyAndGivenName = async () => {
  const lines = (await ReadLog("dmm-actresses.tsv")).split("\n");
  // カッコ以降を削除
  const removeAfterBracket = (name: string): string => {
    return name.split("")[0].split("(")[0];
  };
  const dividedHelper = {
    regexpSymbol: / | |・|・|\./,
    hasDevidedSymbol: (name: string): boolean => {
      return dividedHelper.regexpSymbol.test(name);
    },
    getNameHasDevidedSymbol: (name: string): DividedName => {
      const arr = name.split(dividedHelper.regexpSymbol, 2);
      // カタカナ含むと外国人判定
      return dividedHelper.hasKatakana(name)
        ? { family: arr[0], given: arr[1] }
        : { family: arr[1], given: arr[0] };
    },
    regexpKanji:
      /([\u{3005}\u{3007}\u{303b}\u{3400}-\u{9FFF}\u{F900}-\u{FAFF}\u{20000}-\u{2FFFF}][\u{E0100}-\u{E01EF}\u{FE00}-\u{FE02}]?)/mu,
    hasKanji: (name: string): boolean => {
      return dividedHelper.regexpKanji.test(name);
    },
    regexpKatakana: /^[ァ-ンヴー]*$/,
    hasKatakana: (name: string): boolean => {
      return dividedHelper.regexpKatakana.test(name);
    },
  };

  await AppendLog(
    ["id", "name", "ruby", "family", "given", "family-fix", "given-fix"].join(
      "\t"
    ) + "\n",
    "dividedNames.tsv"
  );

  for (let step = 1; step < lines.length; step++) {
    const lineArr = lines[step].split("\t");
    let name: string = removeAfterBracket(lineArr[1]).trim();

    let data: DividedName;
    console.log(`STEP: ${step}, NAME: ${name}`);
    if (name.length === 1) {
      data = { family: "", given: name };
    } else if (dividedHelper.hasKanji(name)) {
      const res = await AxiosClient.post(
        "divide",
        {
          names: [name],
        },
        { baseURL: "http://localhost:8000" } // `docker run -d --rm -p 8000:8000 rskmoi/namedivider-api`
      );
      data = res.data.divided_names[0];
    } else if (dividedHelper.hasDevidedSymbol(name)) {
      // 分割判断できそうな記号があるもの
      data = dividedHelper.getNameHasDevidedSymbol(name);
    } else {
      // ひらがな・カタカナのみ、名前が一続きになっている人とか
      data = { family: "", given: name };
    }
    console.log(data);

    await new Promise((resolve) => setTimeout(resolve, 2));
    await AppendLog(
      `${lineArr[0]}\t${lineArr[1]}\t${lineArr[2]}\t${data.family}\t${data.given}\t${data.family}\t${data.given}\n`,
      "dividedNames.tsv"
    );
  }
};

namedivider-pythonを修正するpython力があったら楽だったのですができなかったのでIFで4分岐してます。。

女優名

  • ひらがなだけの人もいる
  • 名前だけの人もいる
  • 外国人の名前の分かち部分は / | |・|・|\./ こんな感じの正規表現っぽかった

とかいろいろあって苦戦しましたが一旦API取得して解析できた気がします。

まとめ

今後ともDMM関連の情報はつぶやいて行くと思うのでQiita・Twitterのフォローよろしくお願いします!
ツイッターはwork_Tanakaです。

いいねとかくれたらうれしいです!励みになります!

サンプル動画みていろいろ何する用に自分でDMMAPIとLINEAPIつなげたりいろいろ遊びごころあるマンなのでぜひ仲良くしてほしいです。
まだ開発中で公開はできてませんが。

利用規約について

Qiitaの規約
客観的には事実上、広告・宣伝や商用を目的とした勧誘と認められる行為(検索サイト最適化又はアフィリエイトを目的とする投稿行為を含むがこれに限らない)。ただし、当社が本サービス上で別途定める場合はその限りではありません。

アフィリエイトのためはだめなのでアフィリリンクは貼りませんがDMMを利用したら夜の生活が幸せになれました!

クレジット

Powered by FANZA Webサービス

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2