さまざまなredditサブレディットからデータを取得することに興味があります。Twitterがすべてのページをクロールするのと同じようなreddit/他のAPIがあるかどうか誰かが知っていますか?
3 に答える
はい、redditには、データ収集、自動コメントボットなどのさまざまな目的に使用できるAPIがあり、subredditのモデレートを支援することもできます。
redditのAPIに関する情報を見つける場所がいくつかあります。
- github reddit wiki -redditのAPIを使用するための概要とルールを提供します(ルールに従ってください)
- 自動生成されたAPIドキュメント-ほとんどのAPIエンドポイントにアクセスするために必要なリクエストに関する情報を提供します
- / r /redditdev -redditのソースコードとredditのAPIの両方に関する質問に答えることを専門とするredditコミュニティ
すでに使い慣れている特定のプログラミング言語がある場合は、さまざまな言語の既存のAPIラッパーのセットを確認する必要があります。私の偏見にもかかわらず(私はパッケージメンテナーです) 、Pythonの場合、 PRAWが最大数のredditAPI機能をサポートしていることを確信しています。
データを読み取るだけで、redditにポストバックすることに興味がない場合は、各subredditに関連付けられたjsonフィードからかなりの量のデータを取得できることに注意してください。この方法では、APIについてまったく心配する必要はありません。関連するjsonファイルをリクエストし、選択した言語で解析するだけです。
Justrolledintotheshop subredditからのホット投稿を含むjsonオブジェクトを返すURLの例を次に示します: https ://www.reddit.com/r/Justrolledintotheshop/top.json
hot
topの代わりに、、、new
またはを使用できますcontroversial
。topを使用する場合、URLの末尾に追加?t=day
して、その日のトップ投稿を指定できます。その他の有効な値は、、、、、、、hour
またはです。day
week
month
year
all
ajax/javascriptを使用してredditからJSONデータを解析します。
RedditではGETリクエストに対してCORSが有効になっています。
ここでは例として、redditの最後のビデオをJSON形式で解析します。
xhr = new XMLHttpRequest
xhr.open("GET","https://www.reddit.com/r/videos/.json",true)
xhr.send(null)
xhr.onreadystatechange = function() {
if(this.status === 200) {
console.log(JSON.parse(xhr.responseText))
}
}
https://developer.mozilla.org/fr/docs/Web/API/XMLHttpRequest
詳細については、次の質問を確認してください。