DMMのAPIを使う

DMMのAPIとは

親切なウェブサービスには API が存在します。とくに大企業なら API を実装する気力と打算があるのかバカ丁寧に API とその説明を提供してくれます。YouTube (Google), Twitter , Instagram,…… そして当然 DMM も API を提供しているのです。

DMM API : https://affiliate.dmm.com/api/

ざっくりと

DMMのAPIには

があります。女優,メーカー,…… とあるので動画がメインですかね。需要的には FANZA がメインなのかなと思います。とにかくエロブログで不労所得を稼ぐために DMM API を使えると、商品情報、女優情報、そしてメーカー情報も取れるので格段に選択肢が広がると思います。

APIを使う準備

いきなり誰でも API を使えるわけではありません。API を使うためには

  • DMM に会員登録
  • アフィリエイト会員登録

が必要です。これは DMM さまのご説明があるのでどうぞ。😀

会員登録するには : https://help.dmm.com/-/detail/=/qid=44093/

APIキーとアフィリエイトIDを取得

APIキー

まずはAPIキーを取得します。こちらのページ にあると思います。

アフィリエイトID

そしてアフィリエイトIDを取得します。多分、登録情報のページ のサイト情報にところにあると思います。多分

  • サイト名                         : <アフィリエイトID>
  • 商品情報API用登録 – <n> : <アフィリエイトID>

の二つあると思いますが、API に使うのは 「商品情報~」の方です。これは沢山あると思いますが、多分どれでも良いです。

Python でプログラムをつくる

APIキーとアフィリエイトID は取ったんで、いよいよブログラムを組みます。別に直接 URL を入力、データをコピペして解析、…… でも良いですが、プログラムを組んだ方が便利かなと思います。今回はPython でやります。Python しか触れないので。(笑)

商品情報を取得

まずは商品情報をとります。大体同じようなものなので、商品情報を取れたら他も取れます。というか大体の API は url にパラメータを付けてリクエストするだけなんで、他のサイトも同じようにできると思います。

まずはコード

とりあえずコードを貼ります。

import requests
import json

HEADERS={
    "User-Agent":"Mozilla/4.9 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36"
}
GET_ITEM_URL="https://api.dmm.com/affiliate/v3/ItemList"

def _requests(url,apiid,affid,params={}):
    params={
        "api_id":apiid,
        "affiliate_id":affid,
        **params
    }
    res=requests.get(url,headers=site.HEADERS,params=params)
    return res.text
def getItems(apiid,affid,word="",mode=None,params={}):
    params={
        "site":"FANZA",
        "service":"digital",
        "keyword":word,
        **params
    }
    if mode:
        params["article"]=mode
    text=_requests(GET_ITEM_URL,apiid,affid,params)
    return json.loads(text)

ざっくり説明すると、まず requests は簡単にhttp通信できるモジュールで

pip install requests

でインストールできます。

APIキーとアフィリエイトID を付けて GETリクエストを送るだけですね。クエリ(word)だけ引数に取り他の沢山のパラメータは params で渡してます。この辺はお好きにどうぞ。site は DMM(一般) か FANZA か選べるのですが、僕はどうせFANZAしか使わないので固定してます。(笑)

 

試す

では試します。

import dmm
import sys

apiid=<apiid>
affid=<affid>
word=sys.argv[1]

for data in dmm.getItems(apiid,affid,word=word)["result"]["items"]:
    print(data)

dmm.py で保存したんで import dmm としてます。

$ python dmm.py 痴漢

実行!😃 すると

{'service_code': 'digital', 'service_name': '動画', 'floor_code': 'videoa', 'floor_name': 'ビデオ', 'category_name': 'ビデオ (動画)', 'content_id': '1nhdtb00612', 'product_id': '1nhdtb00612', 'title': 'ナチュラルハイ年末スペシャル 忘年会痴●', 'volume': '235', 'review': {'count': 3, 'average': '4.00'}, 'URL': 'https://www.dmm.co.jp/digital/videoa/-/detail/=/cid=1nhdtb00612/', 'URLsp': 'https://www.dmm.co.jp/digital/videoa/-/detail/=/cid=1nhdtb00612/', 'affiliateURL': 'https://al.dmm.co.jp/?lurl=https%3A%2F%2Fwww.dmm.co.jp%2Fdigital%2Fvideoa%2F-%2Fdetail%2F%3D%2Fcid%3D1nhdtb00612%2F&af_id=pakopakopapa-998&ch=api', 'affiliateURLsp': 'https://al.dmm.co.jp/?lurl=https%3A%2F%2Fwww.dmm.co.jp%2Fdigital%2Fvideoa%2F-%2Fdetail%2F%3D%2Fcid%3D1nhdtb00612%2F&af_id=pakopakopapa-998&ch=api', 
                                     :
                                     :
                                     : 

こんな感じでデータを取れると思います。

 

おわりに

前述したように女優検索も大体同じように作れます。このデータを上手く活用すれば、なんと気の利いた、手の込んだサイトだと思われるものを気軽に作れそうです。まあ皆使ってるでしょうから、簡単に差別化はできないかもしれないですが、ものは使いようです。応用しまくって金のなる木をつくりましょう!😡

コメント

タイトルとURLをコピーしました