请求不返回与浏览器相同的数据

Request not returning same data as browser

尝试使用 Python 从 Duolingo 获取一些值,但是 urllib 给我的东西与我通过浏览器导航到 url 时不同。

通过浏览器导航到 url (https://www.duolingo.com/2017-06-30/users/215344344?fields=xpGoalMetToday) 给出:{"xpGoalMetToday": false}.

但是,通过以下脚本尝试:

import urllib.request

url = 'http://www.duolingo.com/2017-06-30/users/215344344?fields=xpGoalMetToday'
user_agent = '[insert my local user agent copied from browser attempt]'

# header variable
headers = { 'User-Agent' : user_agent, "Cache-Control": "no-cache, max-age=0" }

# creating request
req = urllib.request.Request(url, None, headers)

print(urllib.request.urlopen(req).read())

returns 只是一个空白 {}。

从上面可以看出,我已经尝试了几件事:添加用户代理、缓存控制。我什至尝试过使用响应模块并添加身份验证(没有用)。

有什么想法吗?我错过了什么吗?

实际上,当我在浏览器中打开 link 时,它会显示 {}

也许您的浏览器中设置了某种 cookie?