web-dev-qa-db-ja.com

redditデータの取得

さまざまなreddit subredditsからデータを取得することに興味があります。 Twitterがすべてのページをクロールするのと同じようなreddit /その他のAPIがあるかどうか誰かが知っていますか?

24
Budhapest

はい、redditには、データ収集、自動コメントボット、またはsubredditのモデレーションを支援するなど、さまざまな目的に使用できるAPIがあります。

RedditのAPIに関する情報を見つける場所はいくつかあります。

  • github reddit wiki -redditのAPIを使用するための概要とルールを提供します(ルールに従う)
  • 自動生成されたAPIドキュメント -APIエンドポイントのmostにアクセスするために必要なリクエストに関する情報を提供します
  • / r/redditdev -redditのソースコードとredditのAPIの両方に関する質問への回答に特化したredditコミュニティ

すでに慣れている特定のプログラミング言語がある場合は、さまざまな言語の APIラッパーの既存のセット を確認する必要があります。私の偏見にもかかわらず(私はパッケージメンテナーです)、Pythonの場合 [〜#〜] praw [〜#〜] はかなりの数のreddit API機能をサポートしています。

33
bboe

データを読み取るだけでredditへのポストバックに関心がない場合は、各subredditに関連付けられたjsonフィードからかなりの量のデータを取得できることに注意してください。この方法では、APIについて心配する必要はまったくありません。関連するjsonファイルを要求して、選択した言語で解析するだけです。

Justrolledintotheshop subredditからのホットな投稿を含むjsonオブジェクトを返すURLの例を次に示します。 https://www.reddit.com/r/Justrolledintotheshop/top.json

Topの代わりに、hotnew、またはcontroversialを使用できます。 topを使用する場合、?t=dayをURLの末尾に追加して、その日のトップ投稿を指定できます。その他の有効な値は、hourdayweekmonthyear、またはallです。

13
Haydentech

redditからのJSONデータをajax/javascriptで解析するには.

Redditでは、GETリクエストに対して[〜#〜] cors [〜#〜]が有効になっています。

ここでは例として、JSON形式でredditから最後のvideosを解析します。

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

詳細については、次の質問を確認してください。

ページをリロードせずにYouTubeビデオIDを変更

1
NVRM