101 votes

Python urllib2: reçoit la réponse JSON de l'URL

J'essaie d'obtenir une URL en utilisant Python et la réponse est JSON. Cependant, quand je cours

 import urllib2
response = urllib2.urlopen('https://api.instagram.com/v1/tags/pizza/media/XXXXXX')
html=response.read()
print html
 

Le code HTML est de type str et j'attends un JSON. Est-il possible de capturer la réponse sous forme de dictionnaire JSON ou python au lieu d'un str.

194voto

Martijn Pieters Points 271458

Si l'URL renvoie des données codées JSON valides, utilisez la bibliothèque json pour décoder les éléments suivants:

 import urllib2
import json

response = urllib2.urlopen('https://api.instagram.com/v1/tags/pizza/media/XXXXXX')
data = json.load(response)   
print data
 

44voto

Sanal Points 19
import json
import urllib2

url = 'http://example.com/file.json'
r = urllib2.urlopen(url)
data = json.loads(r.read().decode(r.info().getparam('charset') or 'utf-8'))
print data

4voto

MostafaR Points 1832

Faites attention à la validation, etc., mais la solution simple est la suivante:

 import json
the_dict = json.load(response)
 

2voto

Jossef Harush Points 1656
resource_url = 'http://localhost:8080/service/'
response = json.loads(urllib2.urlopen(resource_url).read())

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X