2014-11-07 17 views
5

Sto usando python per chiamare l'API di Last.fm per recuperare le informazioni dell'utente. Questo errore si verifica dopo il recupero di circa 7000 utenti:Raise ConnectionError (Connessione interrotta, BadStatusLine): utilizzando python e Last.fm API

Traceback (most recent call last): 

    File "C:/Python27/My Codes & Data/scanuserinfo_100K_3.py", line 48, in <module> 

    r=requests.get(host,params=params) 

    File "C:\Python27\requests\api.py", line 60, in get 

    return request('get', url, **kwargs) 

    File "C:\Python27\requests\api.py", line 49, in request 

    return session.request(method=method, url=url, **kwargs) 

    File "C:\Python27\requests\sessions.py", line 457, in request 

    resp = self.send(prep, **send_kwargs) 

    File "C:\Python27\requests\sessions.py", line 569, in send 

    r = adapter.send(request, **kwargs) 

    File "C:\Python27\requests\adapters.py", line 407, in send 

    raise ConnectionError(err, request=request) 

ConnectionError: ('Connection aborted.', BadStatusLine("''",)) 

Ecco il mio codice per chiamare l'API:

import requests 

API_KEY='####my api key input here#####' 

host='http://ws.audioscrobbler.com/2.0/' 

params={'method':'user.getInfo', 

      'user':'###userid input here####', 

      'api_key':API_KEY 
    } 

r=requests.get(host,params=params) 

qualcuno potrebbe aiutarmi qui?

risposta

1

Potrebbe essere legato alla loro limitazione API, come si aspettano di non fare più di 5 chiamate/s * 60 sec/min * 5 min = 1500 chiamate/5min

http://www.last.fm/api/tos

4,4 Implementerai il caching adatto in accordo con le intestazioni HTTP inviate con le risposte al servizio web. Non si effettuano più di 5 richieste per indirizzo IP originario al secondo, in media su un periodo di 5 minuto, senza previo consenso scritto. Accetti di memorizzare nella cache l'artista simile e tutti i dati del grafico (brani più in alto, artisti migliori, top album) per un minimo di una settimana.

Problemi correlati