gpt4 book ai didi

python - 使用 PRAW 在 Python 中从 Reddit API 解码 JSON

转载 作者:太空宇宙 更新时间:2023-11-03 14:30:09 26 4
gpt4 key购买 nike

我在 Python/GTK 应用程序中使用 PRAW for Reddit API。我已经成功使用了API,但是我似乎无法解码JSON来使用。应该知道我是 Python 和 GTK 应用程序的初学者。

# -*- Mode: Python; coding: utf-8; indent-tabs-mode: nil; tab-width: 4 -*-
### BEGIN LICENSE
# This file is in the public domain
### END LICENSE

import gettext
from gettext import gettext as _
gettext.textdomain('redditreader')

from gi.repository import Gtk # pylint: disable=E0611
import logging
logger = logging.getLogger('redditreader')

from redditreader_lib import Window
from redditreader.AboutRedditreaderDialog import AboutRedditreaderDialog
from redditreader.PreferencesRedditreaderDialog import PreferencesRedditreaderDialog

import praw

import json
import simplejson
from pprint import pprint

# See redditreader_lib.Window.py for more details about how this class works
class RedditreaderWindow(Window):
__gtype_name__ = "RedditreaderWindow"

def finish_initializing(self, builder): # pylint: disable=E1002
"""Set up the main window"""
super(RedditreaderWindow, self).finish_initializing(builder)

self.AboutDialog = AboutRedditreaderDialog
self.PreferencesDialog = PreferencesRedditreaderDialog

# Code for other initialization actions should be added here.
r = praw.Reddit(user_agent='example')
try:
submissions = r.get_front_page(limit=5)
[str(x) for x in submissions]
jsondatafirst = simplejson.loads(str(submissions))
jsondata = unicode(jsondatafirst, 'utf-8')
print(jsondata)
except (simplejson.decoder.JSONDecodeError, ValueError):
print 'Decoding JSON has failed'

最佳答案

使用 PRAW,您无需进行任何 json 解码,因为 PRAW 会为您处理所有这些。

例如,对于每个提交,您要打印出赞成票数、反对票数和提交标题。你可以这样做:

for submission in r.get_front_page(limit=5):
print submission.ups, submission.downs, submission.title

如果您想查看可用于提交对象的所有属性,您可以运行:

import pprint
for submission in r.get_front_page(limit=5):
pprint.pprint(vars(submission))

此外,如果您想从提交中获取评论,则可以使用 submission.comments 属性。您还可以手动查看请求的 json 响应,以查看哪些属性应该通过 PRAW (example) 可用。

对象的属性没有在任何地方明确列出,因为属性是直接根据请求的关联 json 响应中的任何键名创建的。

关于python - 使用 PRAW 在 Python 中从 Reddit API 解码 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12719542/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com