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


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

ツイッターは[work_Tanaka](https://twitter.com/work_Tanaka)です。

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

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

## 名字ランキング１位

はえある1位は・・・・

・・・・

・・・・


・・・・


・・・・


・・・・


・・・・

・・・・


・・・・


・・・・


・・・・

・・・・


・・・・


・・・・


・・・・




・・・・

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

## 名前ランキング１位


はえある1位は・・・・

・・・・

・・・・


・・・・


・・・・

・・・・


・・・・


・・・・


・・・・


・・・・


・・・・


・・・・


・・・・


・・・・


・・・・


・・・・


・・・・



・・・・


・・・・


・・・・


`2４３人` いらっしゃる `さやか` さんでした！




## 名字ランキング

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

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がよくまとまっている気がします

* [【個人開発】DMM.comの女優APIを使って約5万人の女優を検索できる驚異のサービスを作った](https://qiita.com/fabsabsfabsabs/items/e8e3b717dc311ac2176d)

> やり方

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

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

```ts
// @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](https://twitter.com/work_Tanaka)です。

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

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

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr">いま開発中のLINEアプリ。<br>キーワードにマッチしてるDMMのサンプル動画を10個返してくれるので毎日はかどる。🤭 <a href="https://t.co/QxyVjehNpL">pic.twitter.com/QxyVjehNpL</a></p>&mdash; たなか♂ (@work_Tanaka) <a href="https://twitter.com/work_Tanaka/status/1488360471770337284?ref_src=twsrc%5Etfw">February 1, 2022</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>


## 利用規約について


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

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

## クレジット

Powered by <a href="https://affiliate.dmm.com/api/">FANZA Webサービス</a>