Cliquez ici pour les spécifications de l'API DMM https://affiliate.dmm.com/api/ Il renvoie juste du XML, vous pouvez donc l'analyser ou ce que vous voulez ...
#coding:utf-8
import urllib2
import time
"""
Obtenez des informations sur le produit à l'aide de l'API DMM
"""
class Dmm:
    def __init__(self, api_id, affiliate_id):
        """constructeur"""
        self.baseurl = "http://affiliate-api.dmm.com/"
        self.proxy_host = None
        self.proxy_port = None
        self.api_id = api_id
        self.affiliate_id = affiliate_id
        self.version = "1.0.0"
        self.site = 'DMM.co.jp'
        self.service = 'digital'
        self.operation = 'ItemList'
        
        self.url = None
    
    def setProxy(self, host, port=8080):
        """Définir le proxy"""
        self.proxy_host = host
        self.proxy_port = port
    
    def setVersion(self, version):
        """Définir la version"""
        self.version = version
    def setSite(self, site):
        """Définir le site"""
        self.site = site
    def setService(self, service):
        """Service de jeu"""
        self.service = service
    
    def keywordSearch(self, keyword, **options):
        """Rechercher des articles"""
        params = options
        params["keyword"] = keyword
        return unicode(self.sendRequest(params),'euc-jp')
        #return self.buildURL(params)
    
    def buildURL(self, params):
        """Créer une adresse URL de requête REST"""
        params["api_id"] = self.api_id
        params["affiliate_id"] = self.affiliate_id
        params["version"] = self.version
        params["site"] = self.site
        params["service"] = self.service
        params["operation"] = self.operation
        params["timestamp"] = time.strftime("%Y-%m-%d %H:%M:%S", time.gmtime())
        sorted_params = sorted(params.items())
        
        #Développez le hachage des paramètres
        request = []
        for p in sorted_params:
            pair = "%s=%s" % (p[0], urllib2.quote(p[1].encode("euc-jp")))
            request.append(pair)
        
        url = self.baseurl + "?" + "&".join(request)
        
        return url
        
    def sendRequest(self, params):
        """Envoyez une requête à DMM et renvoyez le XML récupéré"""
        self.url = self.buildURL(params)
        if self.proxy_host:
            proxy_handler = urllib2.ProxyHandler({"http":"http://%s:%s/" % (self.proxy_host, self.proxy_port)})
            opener = urllib2.build_opener(proxy_handler)
        else:
            opener = urllib2.build_opener()
        return opener.open(self.url).read()
    
def _test():
    dmm = Dmm('Clé API', 'Code Affi')
    print dmm.keywordSearch('sex',hits='100')
if __name__ == '__main__':
    _test()
        Recommended Posts