Чат загрузчик - это простой инструмент, используемый для извлечения сообщений чата из Livestreams, видео, клипов и прошлых трансляций. Никакой аутентификации!
Этот инструмент распределен на PYPI и может быть установлен с помощью pip :
$ pip install chat-downloader Чтобы обновиться до последней версии, добавьте флаг --upgrade в вышеуказанную команду.
В качестве альтернативы, инструмент может быть установлен с помощью git :
$ git clone https://github.com/xenova/chat-downloader.git
$ cd chat-downloader
$ python setup.py install usage: chat_downloader [-h] [--version] [--start_time START_TIME]
[--end_time END_TIME]
[--message_types MESSAGE_TYPES | --message_groups MESSAGE_GROUPS]
[--max_attempts MAX_ATTEMPTS]
[--retry_timeout RETRY_TIMEOUT]
[--interruptible_retry [INTERRUPTIBLE_RETRY]]
[--max_messages MAX_MESSAGES]
[--inactivity_timeout INACTIVITY_TIMEOUT]
[--timeout TIMEOUT] [--format FORMAT]
[--format_file FORMAT_FILE] [--chat_type {live,top}]
[--ignore IGNORE]
[--message_receive_timeout MESSAGE_RECEIVE_TIMEOUT]
[--buffer_size BUFFER_SIZE] [--output OUTPUT]
[--overwrite [OVERWRITE]] [--sort_keys [SORT_KEYS]]
[--indent INDENT] [--pause_on_debug | --exit_on_debug]
[--logging {none,debug,info,warning,error,critical} | --testing | --verbose | --quiet]
[--cookies COOKIES] [--proxy PROXY]
urlНапример, для сохранения сообщений из прямой трансляции в файл JSON вы можете использовать:
$ chat_downloader https://www.youtube.com/watch ? v=jfKfPfyJRdk --output chat.jsonДля описания этих параметров, а также расширенных командных строк и примеров, обратитесь к странице использования командной строки.
from chat_downloader import ChatDownloader
url = 'https://www.youtube.com/watch?v=jfKfPfyJRdk'
chat = ChatDownloader (). get_chat ( url ) # create a generator
for message in chat : # iterate over messages
chat . print_formatted ( message ) # print the formatted messageДля расширенных вариантов использования и примеров Python обратитесь к документации Python.
Элементы/сообщения чата проанализированы в объекты JSON (он же словаря) и должны следовать формату, аналогично этому:
{
...
"Message_id": "xxxxxxxxxx",
«Сообщение»: «Фактическое сообщение идет сюда»,
"Message_Type": "text_message",
«TimeStamp»: 1613761152565924,
"Time_in_seconds": 1234.56,
"time_text": "20:34",
"Автор": {
"id": "ucxxxxxxxxxxxxxxxxxxxxxxxx",
"Имя": "username_of_sender",
«Изображения»: [
...
],
"Значки": [
...
]
},
...
}
Для обширного, задокументированного списка включенных полей обратитесь к странице поля элемента чата.
Вскоре
Нашел ошибку или есть предложение? Подайте проблему здесь. Чтобы помочь разработчикам в решении проблемы, пожалуйста, следуйте шаблону проблемы как можно более внимательно.
Если вы хотите помочь улучшить инструмент, вы найдете дополнительную информацию о внесении вклад в наше руководство.