【问题标题】:python requests module get method followed by json method getting stuck.python请求模块get方法,然后是json方法卡住。
【发布时间】:2013-05-23 16:18:42
【问题描述】:

我遇到了 python 的“requests”模块的问题。

我有这三行代码:

print '\n\nTrying to fetch Tweets from URL %s' % url
newTweets = requests.get(url).json()
print 'Fetched %d tweets from URL: %s' % (len(newTweets), url)

不知何故,程序执行在第二行卡住(程序停止)。 'url' 参数是我们后端服务器的有效 url,它提供 'valid' json。

我今天刚开始遇到这个问题。代码中没有循环,因此没有无限循环的范围。但是,我仍然不知道 requests 模块的 'get' 和 'json' 方法中到底发生了什么。

如果有人对此有任何解释,请回复。

【问题讨论】:

  • 如果您删除内联的 .json() 调用并尝试先自己执行 get 怎么办?
  • 如果它只是最近才开始发生,那么可能是 twitter,或者你正在使用的任何 API 部分,已经坏了。
  • @Aya,但有什么可以破坏的?为什么在 json() 和 get() 方法中没有异常处理程序来处理这些异常情况。而且我们数据交换的标准机制是json,我们在这个层面完全抽象了twitter。
  • @VaidAbhishek 好吧,它可能正在丢弃您的数据包,或者服务器可能真的很慢。如果您在网络浏览器中输入 URL 是否有效?
  • 是的,浏览器中的网址确实有效。

标签: python json python-requests


【解决方案1】:

把你的程序分成几个步骤

newTweets = requests.get(url)

然后检查您期望返回的任何状态代码,例如:

if newTweets.status_code != 200:
     # exception handling

return newTweets.json()

【讨论】:

    猜你喜欢
    • 2018-12-18
    • 2015-07-02
    • 2015-11-12
    • 1970-01-01
    • 2020-08-03
    • 2015-05-17
    • 1970-01-01
    • 2019-02-24
    • 2017-07-19
    相关资源
    最近更新 更多