‘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
URL форума Discourse
-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'.
- Типичные настройки ограничения скорости пользователя:
- запросов в минуту : 20
- запросов в день : 2880