彼らのドキュメントによると:
これは、最新の reddit 投稿を取得するのに十分なはずです。
r = client.get(r'http://www.reddit.com/api/hot/', data=user_pass_dict)
しかし、そうではなく、404 エラーが発生します。データ要求の URL が間違っていますか?
http://www.reddit.com/api/login
しかし動作します。
あなたの質問は、「最もホットな新しい」投稿を取得するために何をする必要があるかを具体的に尋ねています。「ホットな」ビューと「新しい」ビューがあるため、「最もホットな新しい」というのはあまり意味がありません。これら 2 つのビューの URL はhttp://www.reddit.com/hot
、http://www.reddit.com/new
それぞれ と です。
これらの URL をよりコードに適したものにするため.json
に、URL の末尾 (さらに言えば、任意の reddit URL) に追加して、データの json 表現を取得できます。たとえば、「ホット」な投稿のリストを取得するには、 に GET リクエストを送信し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))
ドキュメントによると、次の/hot
代わりに使用し/api/hot
ます。
r = client.get(r'http://www.reddit.com/hot/', data=user_pass_dict)