Récupérer des données (par ex. publications de sujets) via utilitaire Go (indépendant de l'OS)

‘discourse-reader’ récupère des données (par exemple, site, catégorie, sujet) du forum Discourse pour le compte de l’utilisateur. L’utilitaire se trouve ici :

discourse-reader                                                                       

Programme :
  Nom    : discourse-reader
  Version : v1.0.0 - 2022/11/18
  Objectif : Lecteur Discourse
  Info    : Récupère des données (par exemple, site, catégorie, sujet) du forum Discourse.

Utilisation :
  discourse-reader -forum=string -query=string -category=int -topic=int -pages=int -output=string -userapikey -sleeptime=int

Exemples de requêtes générales :
  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

Exemples pour une catégorie :
  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

Exemples pour un sujet :
  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

Options :
  -category int
    	récupérer les données (liste de sujets) pour la catégorie avec l'identifiant (défaut -1)
  -forum string
    	URL du forum Discourse
  -output string
    	nom du fichier de sortie JSON
  -pages int
    	pages de données à récupérer (défaut 19)
  -query string
    	requête générale de récupération de données (URL complète)
  -sleeptime int
    	temps de pause en secondes avant de récupérer la page suivante (évite la limitation de débit de l'utilisateur) (défaut 2)
  -topic int
    	récupérer les données (liste de messages) pour le sujet avec l'identifiant (défaut -1)
  -userapikey string
    	clé API utilisateur personnelle (peut également être définie comme variable d'environnement 'USER_API_KEY')

Remarques :
  - La clé API utilisateur peut être définie comme variable d'environnement [USER_API_KEY].
  - Le proxy Internet peut être défini comme variable d'environnement [HTTPS_PROXY].
  - Exemples pour Linux :
    export USER_API_KEY=bd38603815e3f2562c3eb3988c69eb77
    export HTTPS_PROXY=http://user:password@194.114.63.23:8080
  - Exemples pour Windows :
    set USER_API_KEY=bd38603815e3f2562c3eb3988c69eb77
    set HTTPS_PROXY=http://user:password@194.114.63.23:8080

Limitation de débit par le service du forum :
  - Ce programme ne diffère fonctionnellement pas d'un utilisateur via un navigateur. Cependant, les
    données sont récupérées un peu plus rapidement. Cela peut entraîner des rejets (limitation de débit) par le
    service. Pour éviter cela, le programme peut faire une pause entre la récupération des pages. Le temps de pause
    peut être spécifié avec l'option '-sleeptime=int'.
  - Les paramètres typiques de limitation de débit pour les utilisateurs sont :
    - requêtes par minute : 20
    - requêtes par jour    : 2880
1 « J'aime »