Goユーティリティ(OS非依存)でデータを取得(例:トピック投稿)

‘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
「いいね!」 1