urll对json的请求与浏览器中的json不匹配

时间:2017-02-25 14:15:22

标签: python json web-scraping

到目前为止,这是我的代码。

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个属性,并且不包含第二个'点'我在浏览器的URL中看到了。

可能是我只能加载1"层"深而不是2?

1 个答案:

答案 0 :(得分:4)

您需要在请求中添加user-agent

使用requestsurllib文档建议直接使用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....