【问题标题】:Request not returning same data as browser请求不返回与浏览器相同的数据
【发布时间】:2020-05-14 20:15:45
【问题描述】:

尝试使用 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())

只返回一个空白 {}。

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

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

【问题讨论】:

    标签: python api urllib


    【解决方案1】:

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

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

    【讨论】:

    • 啊,明白了!清除了我的浏览器 cookie,最后也得到了空白 {}。现在,只需要弄清楚如何获得我想要的响应。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-09
    • 2016-01-11
    • 2017-09-25
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多