根據他們documentation:404錯誤,而這樣做的API調用到Reddit討論社區
這應該足以讓最熱門的新reddit的意見:
r = client.get(r'http://www.reddit.com/api/hot/', data=user_pass_dict)
但事實並非如此,我得到一個404錯誤。我是否獲取數據請求的URL錯誤?
http://www.reddit.com/api/login
雖然有效。
根據他們documentation:404錯誤,而這樣做的API調用到Reddit討論社區
這應該足以讓最熱門的新reddit的意見:
r = client.get(r'http://www.reddit.com/api/hot/', data=user_pass_dict)
但事實並非如此,我得到一個404錯誤。我是否獲取數據請求的URL錯誤?
http://www.reddit.com/api/login
雖然有效。
根據該文檔,使用/hot
而不是/api/hot
:
r = client.get(r'http://www.reddit.com/hot/', data=user_pass_dict)
你的問題明確要求,你需要做的就是在「最熱門的新」提交什麼。 「最熱門的」並沒有什麼意義,因爲有「熱門」視角和「新」視角。這兩個視圖的URL分別爲http://www.reddit.com/hot
和http://www.reddit.com/new
。
爲了使這些URL更加代碼友好,您可以將.json
附加到URL的末尾(用於該事項的任何reddit URL)以獲取數據的json表示形式。例如,要獲得「熱門」提交列表,請向http://www.reddit.com/hot.json
發出GET請求。
爲了完整起見,在您的示例中,您嘗試通過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))
這似乎是一個獲取請求,而不是它們的api。 – Hick
@Hick儘管如此,在文檔中指定的方式來檢索您所尋找的數據。 –