2017-09-23

DMM APIの使い方まとめ ~登録方法から、データの取得まで~



こんにちは。スケベなエンジニアのDAIです。ここ最近、DMMにR18のAPIが存在することを聞き、Pythonでエッチなコードを書いてみようかと考えています。小学生の頃にエロ本を探しに行く感覚を思い出しますね。作りたいものは以下の通り。

  • 「新人」とついたタイトルのAVをDMM APIから自動取得
  • XML・JSON形式でタイトル、画像、アフィリエイト付き動画URLを取得
  • Tweepyで画像・アフィリエイトコード付きのツイートを投稿(今回は省略)
  • 一連の流れをすべて自動化する(今回は省略)

ということで、DMM APIの登録方法と、データの取得方法について解説していきたいと思います。




DMM Web APIで取得できるデータ


DMMには以下のAPIが存在し、これらの情報をとることができます。

商品情報API ・・・ DMM.com の商品の情報を取得することが可能なAPI です。
女優検索API ・・・ 女優情報を取得することが可能なAPIです。
ジャンル検索API ・・・ ジャンル一覧を取得することが可能なAPIです。
メーカー検索API ・・・ メーカー一覧を取得することが可能がAPIです。
シリーズ検索API ・・・ シリーズ一覧を取得することが可能がAPIです。
作者検索API   ・・・ 作者一覧を取得することが可能がAPIです。
フロア検索API  ・・・ フロア一覧を取得することが可能がAPIです。

詳細な情報は、公式ページを確認してみてください。


ご利用ガイド - DMM Web APIサービス

DMM Web APIサービスのご利用方法について説明します。DMM Web APIサービスは、DMMアフィリエイトオーナーの方であればどなたでも無料でご利用いただけます。


これらの情報を、JSON形式かXML形式でデータを取得してくれるそうです。利用する予定の商品情報APIを見てみます。ほしいデータを取得するためには、以下のコードにAPP IDアフィリエイトID(後述)、検索数キーワード、出力形式(json or xml)を入れます。

https://api.dmm.com/affiliate/v3/ItemList?api_id=[APIID]&affiliate_id=[アフィリエトID]&site=DMM.R18&service=digital&floor=videoa&hits=[検索数]&sort=date&keyword=[キーワード]&output=[jsonかxml]

今回は、僕の場合だとヒット数が100、キーワードが「新人」、outputがxmlでしたので、その値で検索するとこうなります。


https://api.dmm.com/affiliate/v3/ItemList?api_id=[app-id] &affiliate_id=[affiliate-id] &site=DMM.R18&service=digital&floor=videoa&hits=100&sort=date&keyword=%E6%96%B0%E4%BA%BA&oq=%E6%96%B0%E4%BA%BA&output=xml


このように、XML形式で検索結果を取得できます。取得できる値はリファレンスを参照するとわかります。タイトルや、商品情報へのアフィリエイトコード入りのURL、画像、動画へのURL等が取得できます。まさにむふふなAPIですね。



DMM Web APIの始め方


DMMのAPIを利用するには、以下2点が必要です。

  1. DMMのAPP ID
  2. DMMのAFFILITATE ID

これらをIDを取得するためには、DMMのアフィリエイトプログラムに登録する必要があります。個人のサイトが必要なようですが、ツイッターページでもよいとのこと。


(ちなみに実はAPIで取得できる値に、アフィリエイトコード入りのURLが入っていまして、そのコードから商品が購入されると報酬がもらえるそうです。詳しくは報酬についてをご覧ください。また、商品によっても紹介料が違います。詳しくは報酬料率一覧をご確認ください。だいたい、1000円のビデオが売れたら、350円入るくらいの報酬利率みたいです。)




さて、申請には3日ほどかかると書いてあります。申請が通るまでに、ちょうど3日ほどかかりましたが、メールで審査結果がきました。これで無事、APP IDとAFFILITATE IDができました。




登録に成功すると、自分のAPP IDとAFFILIATE IDを確認できるようになります。DMMのAPP ID確認ページはこちらにあります。アフィリエイトIDは、自分の登録したID + 3桁の数字となっています。https://affiliate.dmm.com/api/id_confirm/


商品検索APIを利用してみよう


さきほどの商品検索APIを利用します。
よく読むと、AFFILIATE IDの末尾を990-999の間にせよとのことなので、アフィリエイトIDの末尾を999に変更すればよいみたいです。


今回は「新人」で検索し、ヒットしたものを取得します。そこで、表示された上部のURLをさらに検索欄にはりつけると、search?q=以降に新人の文字コードを取得できます。その部分をkeyword以降に貼り付けます。




https://api.dmm.com/affiliate/v3/ItemList?api_id=[api id] &affiliate_id=[affiliate id]&site=DMM.R18&service=digital&floor=videoa&hits=100&sort=date&keyword=%E6%96%B0%E4%BA%BA&oq=%E6%96%B0%E4%BA%BA&output=xml


そうすると無事、DMM APIから情報を取得できます。



完成ですね。今回はR18データを取得するところまでやってみました。これでアダルト天国でございます。次はTwitterにR18データを投稿するところまで、やってみたいと思います。


【Python】DMM Web APIでエッチなデータを取得し、Twitterで自動でえっちな投稿してみた

Pythonでエッチなプログラムを書いてみた こんにちは、 アダルトハッカーのDAIです。 前回、DMM Web APIを利用して、新人もののAVを取得 しました。


Python データ分析入門マニュアルに戻る

注目の投稿

 PythonのTweepyを利用して、Twitter APIを利用している。 その中で、ハマったポイントをメモしておく。 まず、Searchに関して。 Twitter検索は、クライアントアプリ側では、全期間の検索が可能になっている。 一方で、APIを利用する際は、過去1週間しか...