DMMAPIでアダルト動画データを自在に取得するパラメータの設定方法

FANZA

さっそくセクシー動画の自動まとめサイトを作っていきましょう、前回までの手順でレンタルサーバーを借りてワードプレスのインストールはすでに完了したという前提でお話を進めていきますんで、環境の準備がまだできていない方はこちらの記事を読んでみて下さい。

今回の目的

前回の記事で作った自動アダルト動画まとめサイトの仕様書で作る範囲を確認します。

まずはwordpressの記事を作るために必要なアダルト動画のデータを取得します、DMMAPIの仕様は複雑ではないものの確認するパラメータが地味の多くて、普段APIを使わない方にはピンとこない部分もあるかもしれません。今回はAPIアレルギーが発症しないようになるべく丁寧に解説してみたいと思います。

DMMAPIへの登録

すいません、僕はすでにDMMのアフィリエイトアカウントを持ってまして、新規登録時の手順をスクショとかで詳しく解説する事が出来ない状況です。

簡単にまとめると、

の2手だけなんですが、宣伝用のサイトをすでに持っているかどうかで苦労は大きく変わると思います。審査を突破するとDMMwebサービス内のDMMAPIが使えるようになります。

そのうち新しくサイトを作ってDMMのアフィリエイトアカウントの申請手順とかの記事も書こうと思いますが、ここでそれをやると結構な時間がかかるので一旦飛ばします。

FANZA動画データの収集

FANZAのデータはAPIのエンドポイントにアクセスするだけで簡単に取得できますが、初体験の方もいるかもしれませんので画像付きでなるべく丁寧に解説します。

DMMAPIの利用規約クレジット表示の義務もあるので、時間がある時にでも公式の資料は一通り目を通しておいた方が理解が深まると思います。

DMMAPIを叩いてみよう

まずはDMMAPIの仕様を確認してエンドポイントにアクセスしてデータがちゃんと取れるか確認してみます、今回は「商品検索API」を利用して商品の詳細なデータを取得してみます。

商品検索APIのエンドポイントはこちら。

https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=digital&floor=videoa&hits=10&sort=date&keyword=%e4%b8%8a%e5%8e%9f%e4%ba%9c%e8%a1%a3&output=json

このエンドポイントにアクセスするには「APIID」と「アフィリエイトID」が必要で、それぞれのIDは下記の通り確認できます。

【APIID】

【アフィリエイトID】

アフィリエイトIDに関してはAPI経由用のIDが別に用意されているのでご注意です。

両方確認できたのでエンドポイントのURLに各IDを埋め込みます、準備できたらブラウザのアドレスバーにコピペしてenterキーを押して接続してみます。

ちゃんとデータが取れました。一見バグっているようにも見えますがちゃんと条件に合致した商品情報が返ってきています。ちなみにIDが間違ってたりすると下記の様にデータが表示されません。

APIが機能する事が分かったので、リクエストURLのパラメータを確認して欲しい動画データを抽出してみます。

DMMAPIのパラメータ設定

リクエストパラメータの仕様は商品検索APIの公式ページに記載されていますが、そんなに複雑なもんでもないのでじっくり見てみます。

ほとんどがデータの絞り込みに関するパラメータみたいですね、検索開始位置というパラメータは検索結果に合致したレコードの何番目から取得するのかを指定する値ですがちっと分かりずらいと思うので補足します。

1度に取得できるデータ件数は最大で100件なので、それ以上のデータを取得する場合は複数回APIを実行する必要があります。その時、前回取得したレコードの続きから取得しないと、すでに取得済みのデータが何度も表示されちゃうのでレコードの何番目から取得するのか指定する必要があります。

■ 300件のギャル動画を全て取得したい

①リクエストURL:https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=digital&floor=videoa&hits=100&offset=1&article=genre&article_id=1034
②リクエストURL:https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=digital&floor=videoa&hits=100&offset=101&article=genre&article_id=1034
③リクエストURL:https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=digital&floor=videoa&hits=100&offset=201&article=genre&article_id=1034

————————
001 ギャル動画 300円 ①
002 ギャル動画 300円 ①
003 ギャル動画 300円 ①
004…. ①
100 ギャル動画 300円 ①
101 ギャル動画 300円 ②
102 ギャル動画 300円 ②
103…. ②
200 ギャル動画 300円 ②
201 ギャル動画 300円 ③
202 ギャル動画 300円 ③
203…. ③
300 ギャル動画 300円 ③
———————–

こんな感じで、offsetパラメータに取得済みのレコード+1を指定する事で前回の続きから取得処理を行う事が出来るという仕組みになってます。

動画の収集条件を設定する

今回はジャンルを指定してどっさりデータを取得する予定なので、サイト/サービス/フロアの3つでFANZAの動画に絞った後、genreパラメータにgenre_idを指定する事でさらに絞り込みます。収集するデータは僕の趣味でギャル系の動画が欲しいです!

ジャンルを指定して動画データを取得するにはフロアAPIを叩いて各codeを確認する必要がありますが、いちいち確認するのも面倒だと思うのでサイト/サービス/フロアの対応表を作っておきました(20220713時点)コピペして使って下さい、後で自動更新されるスクリプトを書いて常に最新の状態を保てるようにする予定です。

【FANZAのフロア情報】

サイトサービスフロア内容
FANZAdigitalvideoaビデオ
videoc素人
nikkatsu成人映画
animeアニメ動画
monthlyplaygirlプレイガール ch.
avstationAVステーション
dreamドリームチャンネル
s1エスワン ナンバーワンスタイル ch
moodyzMOODYZチャンネル
sodソフト・オン・デマンド ch
kmpKMP チャンネル
momotaroubb桃太郎BB
aliceアリスJAPAN ch
jukujo熟女チャンネル
maniaマニア ch
paradisetvパラダイステレビ ch
shirouto素人ガールズコレクション
nikkatsuピンク映画 ch
animechアダルトアニメチャンネル
mousouzoku妄想族ch
prime見放題ch ライト
premium見放題ch デラックス
hhhHHHch
vrVRch
rentalrental_dvd月額レンタル
ppr_dvd単品レンタル
monodvdDVD
goods大人のおもちゃ
animeアニメ
pcgamePCゲーム
bookブック
doujin同人
pcgamedigital_pcgameアダルトPCゲーム
pcgame_music音楽
doujindigital_doujin同人
ebookcomicコミック
novel美少女ノベル・官能小説
photoアダルト写真集・雑誌

【一般のフロア情報】

サイトサービスフロア内容
DMM.comlodakb48AKB48
ske48SKE48
nmb48NMB48
hkt48HKT48
ngt48NGT48
rodREVIVAL!! ON DEMAND
digitalvideomarket一般動画
idolグラビア
cinema舞台
videoVR
monthlyprime見放題ch ライト
ebookcomicコミック
photo写真集
novel文芸・ラノベ
otherbooksビジネス・実用
pcsoftdigital_pcgamePCゲーム
digital_pcsoftソフトウェア
monodvdDVD・Blu-ray
cdCD
book本・コミック
gameゲーム
hobbyホビー
rentalrental_dvd月額DVDレンタル
rental_cd月額CDレンタル
ppr_dvd単品DVDレンタル
ppr_cd単品CDレンタル
rental_comicコミック
nandemofashion_ladiesレディースファッションレンタル
fashion_mensメンズファッションレンタル
rental_iroiroいろいろ

たとえば大人のおもちゃのデータが欲しい場合は次のようにリクエストURLを作ります。

https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=mono&floor=goods&hits=100

一般のラノベ作品データが欲しい場合はこんな感じ。

https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=DMM.com&service=ebook&floor=novel&hits=100

さらに細かくジャンルを指定したい場合はリクエストURLに絞りこみ項目(&article=actress or author or genre or series or maker)と対応するIDを指定(&article_id=各ID)する事でできます。

各絞り込み項目に対する要素IDはそれぞれAPIが用意されているのでそこから調べられます。

それぞれのAPIを全部検証していると長くなるので割愛、例えばFANZA内のギャル動画のジャンルIDは1034なので、ギャル動画のデータだけ欲しい場合はこんな感じ。

https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエイトID]&site=FANZA&service=digital&floor=videoa&hits=100&article=genre&article_id=1034

ちなみに絞り込みのIDをAPI叩いて調べるのが面倒な方は、FANZAサイトのmenuに絞り込みページがたくさんあるんでそこのURLから確認する事もできます。

同様の手順で女優・メーカー・シリーズとかのIDも確認できますね。

まとめ

DMMAPIの仕様と使い方を一通り説明してみましたがどうでしょうか、使えるようになりましたか?特徴としては商品情報が膨大にあるため任意のデータにソートするためにいくつもパラメータが用意されているという所ですかね。

次回は取得したFANZA動画データを用いてwordpressの記事データを自動作成してみる回です、良かったら読んでみて下さい(‘ω’)ノ

DMMの商品データを一括取得するアプリ「DeepKiss」

DMMの商品をツイッターに投稿したりアフィリエイトサイトを作りたかったんですが、DMMAPIでは100件刻みでしかデータ取得が出来なかったのでMAX50,000件まで1発で取得できるデスクトップアプリを作りました。

使っている様子はこんな感じ。

DMMの商品データが大量にあればブログのランキング記事も簡単に作れるようになりますし、商品データベースとして用いればアフィリエイトサイトの構築も難しくないです。取得できる項目には在庫情報も含まれているので、限定品やレア物をピックアップすればそのまませどり用のリストにも使えます。

データ取得はアプリにお任せ、商品紹介でゴリゴリ稼ぎたい方はぜひお試し下さいm(_ _)m

今すぐダウンロードする

個人開発プログラマーを応援するメンバーシップを始めました('ω')ノ

質問・要望・共同作業など、みんなのやりたい事をスマイルがお手伝いします。立ち上げたばかりでよく分かってないので、とりあえず何でもありやってみます。

コメント

  1. マルス より:

    API用のID(990~999)で商品が売れると報酬は発生しますか?
    また、別にサイト毎にIDが割り当てられています。
    2つのIDが混在しますが、どうなんでしょう?

    • DIYプログラミング管理人 より:

      DIYプログラミングのスマイルです(‘ω’)ノ

      > API用のID(990~999)で商品が売れると報酬は発生しますか?

      しますよ。

      > 2つのIDが混在しますが、どうなんでしょう?

      中身の仕様に違いは感じていませんが、僕はサイト内で広告を貼る際にはサイト別のアフィリエイトID、アプリとか作る時用の商品情報APIだと思って使い分けてますね。ローカルアプリなんかはサイトURLが存在しないので個別に申請できませんから。

  2. あだおじ より:

    こんにちは。

    単体作品で絞り込みしたいのですが、どのようにすればいいのかわかりません。

    実際にサイトから単体作品で絞り込んだURLを参考にAPIをたたきましたが、だめでした。

    • DIYプログラミング管理人 より:

      DIYプログラミングのスマイルです∠( ゚д゚)/

      > 単体作品で絞り込みしたいのですが、どのようにすればいいのかわかりません。

      商品IDをパラメータにつけて実行すると出来ると思います。

      > 実際にサイトから単体作品で絞り込んだURLを参考にAPIをたたきましたが、だめでした。

      あだおじさんが何を試したのか分からないので、ピンポイントでアドバイスするのは難しいです。

      よろしくお願いしますm(_ _)m

  3. あっちゃん より:

    minipopでレンタルサーバーを借り、記事を参考にさせていただき環境を構築中です。
    そこで壁にぶつかってしまいご教授いただきたいのですが、APIの申請が通り、ブラウザのアドレス欄に打ち込んで情報が取得出来るのを確認したのですが、phpで実行すると情報が取れないのは何が原因だと思われるでしょうか?
    ソースは、記事に書かれているものをコピーしてアドレス部分をブラウザに入力したものに置き換えたものです。
    うんこの表示まではうまく行きました。

    • DIYプログラミング管理人 より:

      DIYプログラミングのスマイルです(‘ω’)ノ

      > phpで実行すると情報が取れないのは何が原因だと思われるでしょうか?

      実際のスクリプトと実行結果の画面を見ないとなんとも言えないですね、まだ困っていましたらお問い合わせからヒントになりそうな画面をスクショして送って下さい。

      よろしくお願いしますm(_ _)m

      • あっちゃん より:

        json_last_error_msgでメッセージを表示してみたところ、syntax errorが表示され戻り値がnullになっているようでした。
        以下の簡単な記述なのですが何か原因分かりますでしょうか。(XXXXの部分はキーとIDを設定しております。
        $request_url=’https://api.dmm.com/affiliate/v3/ItemList?api_id=XXXX&affiliate_id=XXXX&site=FANZA&service=digital&floor=videoa&hits=2&article=genre&article_id=1034′;
        $res_data=json_decode(@file_get_contents($request_url), true);
        var_dump($res_data);
        return($res_data);

        • DIYプログラミング管理人 より:

          お疲れ様です(‘ω’)ノ

          >以下の簡単な記述

          冒頭に<?phpがついてないですね、修正して見て下さい。

          よろしくお願いしますm(_ _)m