1

根据他们的文件

这应该足以获得最热门的新 reddit 提交:

r = client.get(r'http://www.reddit.com/api/hot/', data=user_pass_dict)

但它没有,我得到一个 404 错误。我获取数据请求的 url 是否错误?

http://www.reddit.com/api/login虽然有效。

4

2 回答 2

1

您的问题专门询问您需要做什么才能获得“最热门的新”提交。“最热门的新”并没有真正的意义,因为存在“热门”视图和“新”视图。这两个视图的 URL 分别是http://www.reddit.com/hothttp://www.reddit.com/new

为了使这些 URL 对代码更友好,您可以附加.json到 URL 的末尾(任何 reddit URL 与此相关)以获取数据的 json 表示。例如,要获取“热”提交列表,请向http://www.reddit.com/hot.json.


为了完整起见,在您的示例中,您尝试传入data=user_pass_dict. 这绝对不会像您期望的那样工作。虽然您想要做的事情不需要登录,但如果您碰巧需要使用 python 更复杂地使用 reddit 的 API,我强烈建议使用PRAW。使用 PRAW,您可以通过以下方式迭代“热”提交:

import praw
r = praw.Reddit('<REPLACE WITH A UNIQUE USER AGENT>')
for submission in r.get_frontpage():
    # do something with the submission
    print(vars(submission))
于 2013-04-30T04:25:35.950 回答
0

根据文档,使用/hot而不是/api/hot

r = client.get(r'http://www.reddit.com/hot/', data=user_pass_dict)
于 2013-04-18T21:39:49.817 回答