【问题标题】:Saving json response in python在python中保存json响应
【发布时间】:2014-09-09 09:31:56
【问题描述】:

我正在使用此代码确实使用 python 从我的网站获取信息,这就像一个魅力,但我可以将此输出保存到变量或至少保存到 json 或 txt 文件中

import pycurl
def getUserData():
   c = pycurl.Curl()
   c.setopt(pycurl.URL, 'https://api.github.com/users/braitsch')
   c.setopt(pycurl.HTTPHEADER, ['Accept: application/json'])
   c.setopt(pycurl.VERBOSE, 0)
   c.setopt(pycurl.USERPWD, 'username:userpass')
   c.perform()
getUserData()

【问题讨论】:

  • 如果我可以问,你为什么在这里使用pycurl?可能有更好的选择,例如requests
  • 啊,我是 python 新手,这就是我在搜索 curl 和 python 时发现的工作
  • 请求效果很好,谢谢

标签: python json pycurl


【解决方案1】:

这里不要使用 curl; Python 随附电池,尽管其 API 仅比 pycurl 稍好一点。

我建议您安装requests,而不是尝试让urllib2 和密码工作:

import requests

url = 'https://api.github.com/users/braitsch'
headers = {'Accept': 'application/json'}
auth = ('username', 'userpass')
response = requests.get(url, headers=headers, auth=auth)

with open('outputfile.json', 'wb') as outf:
    outf.write(response.content)

如果响应很大,您可以将内容流式传输到文件中,请参阅How to download image using requests,此处适用相同的技术。

【讨论】:

  • @jpthesolver2 请注意,此答案还引用了urllib2,因此它针对Python 2,其中response.content 是一个字符串,而不是bytes 值。因为这里写的是 JSON,所以在这种情况下使用 wb 并不是真的必要。尽管如此,它也没有什么害处,而且wb 的代码也可以在 Python 3 中运行,所以谢谢。
猜你喜欢
  • 1970-01-01
  • 2016-05-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-12-20
相关资源
最近更新 更多