‘discourse-reader’ は、ユーザーに代わって Discourse フォーラムからデータ(サイト、カテゴリ、トピックなど)を取得します。このユーティリティは次の場所にあります。
discourse-reader
プログラム:
名前 : discourse-reader
リリース : v1.0.0 - 2022/11/18
目的 : Discourse Reader
情報 : Discourse フォーラムからデータ(サイト、カテゴリ、トピックなど)を取得します。
使用法:
discourse-reader -forum=string -query=string -category=int -topic=int -pages=int -output=string -userapikey -sleeptime=int
一般的なクエリの例:
discourse-reader
discourse-reader -query=community.openstreetmap.org/site.json -output=community.openstreetmap.org.json
discourse-reader -query=community.openstreetmap.org/site.json -output=community.openstreetmap.org.json -userapikey=bd38603815e3f2562c3eb3988c69eb77
discourse-reader -query=meta.discourse.org/site.json -output=meta.discourse.org.json
discourse-reader -query=meta.discourse.org/session/current.json -output=session-current.json
カテゴリの例:
discourse-reader -forum=community.openstreetmap.org -category=56 -output=category-56.json
discourse-reader -forum=community.openstreetmap.org -category=56 -output=category-56.json -userapikey=bd38603815e3f2562c3eb3988c69eb77
discourse-reader -forum=meta.discourse.org -category=67 -pages=99 -sleeptime=6 -output=category-67.json
トピックの例:
discourse-reader -forum=community.openstreetmap.org -topic=4120 -output=topic-4120.json
discourse-reader -forum=community.openstreetmap.org -topic=4120 -pages=99 -sleeptime=6 -output=topic-4120.json
discourse-reader -forum=community.openstreetmap.org -topic=4120 --output=topic-4120.json -userapikey=bd38603815e3f2562c3eb3988c69eb77
discourse-reader -forum=meta.discourse.org -topic=112837 -output=topic-112837.json
オプション:
-category int
識別子を持つカテゴリのデータを取得します(トピックのリスト)(デフォルト -1)
-forum string
Discourse フォーラムの URL
-output string
JSON 出力ファイルの名前
-pages int
取得するデータのページ数(デフォルト 19)
-query string
一般的なデータ取得クエリ(完全な URL)
-sleeptime int
次のページを取得する前に待機する時間(秒)(ユーザーのレート制限を回避するため)(デフォルト 2)
-topic int
識別子を持つトピックのデータを取得します(投稿のリスト)(デフォルト -1)
-userapikey string
個人ユーザー API キー(環境変数 'USER_API_KEY' としても設定可能)
備考:
- ユーザー API キーは環境変数 [USER_API_KEY] として設定できます。
- インターネットプロキシは環境変数 [HTTPS_PROXY] として設定できます。
- Linux の例:
export USER_API_KEY=bd38603815e3f2562c3eb3988c69eb77
export HTTPS_PROXY=http://user:password@194.114.63.23:8080
- Windows の例:
set USER_API_KEY=bd38603815e3f2562c3eb3988c69eb77
set HTTPS_PROXY=http://user:password@194.114.63.23:8080
フォーラムサービスによるレート制限:
- このプログラムは、ブラウザ経由のユーザーと機能的に違いはありません。しかし、
データはやや高速に取得されます。これにより、サービスからの拒否(レート制限)が発生する可能性があります。
これを防ぐために、プログラムはページ取得間に一時停止することができます。一時停止時間は
オプション '-sleeptime=int' で指定できます。
- 通常のユーザーレート制限設定は次のとおりです。
- 1 分あたりのリクエスト数 : 20
- 1 日あたりのリクエスト数 : 2880