2017-02-25 13 views
1

これはこれまでのコードです。jsonのurllibリクエストがブラウザのjsonと一致しません

url = 'https://www.endomondo.com/rest/v1/users/3014732/workouts/357031682' 

response = urllib.urlopen(url) 
print response 
data = json.load(response) 

print data 

問題は、私はブラウザにJSONを見たとき、それは長いですし、それを印刷するときに、私が見るよりも多くの機能が含まれていることです。

は、より正確には、私は

data['points']['points'] 

しかし

data['points'] 

のみ2の属性を持っており、2番目の「ポイントが含まれていませんでなければなりません「ポイント」の部分を探しています私はブラウザのURLに表示されます。

2つではなく1つの "レイヤー"しかロードできないのでしょうか?

答えて

4

リクエストにuser-agentを追加する必要があります。 requestsを使用して

urllibドキュメントが直接urllibを使用してオーバー推奨している)、あなたが行うことができます:

import requests 
url = 'https://www.endomondo.com/rest/v1/users/3014732/workouts/357031682' 
response = requests.get(url, headers={'user-agent': 'Mozilla 5.0'}) 
print(response.json()) 

# long output....