This repository was archived by the owner on Jan 25, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 55
feature
taizan-hokuto edited this page Jan 5, 2020
·
11 revisions
pytchatは、Youtubeのライブチャット(アーカイブ動画のチャット含む)を取得するための軽量pythonライブラリです。
特徴
-
ブラウザがチャットデータを取得するのと同じ仕組みを使っているため、軽量かつYoutube API不要です。
-
アーカイブ配信のチャット(カット編集されてチャット非表示になっている配信含む)も取得できます。(非公開の動画除く)
-
Selenium(ヘッドレスブラウザ)やBeautiful Soupによるスクレイピングを一切行っていません。
-
SeleniumやYoutube APIで取得したチャットデータで必要だった「重複チャットデータの比較と排除」が不要のため、cpuパワーや帯域が抑えられています。
-
これまでのアプリでは一番最初のcontinuationパラメータを取得するために数百キロバイトある配信ページをスクレイピングしていましたが、このライブラリではcontinuationパラメータそのものを計算して生成しているため、素早く最初のチャットデータを取得することができます。
-
チャットデータをバックグラウンドでバッファリングするため、チャットデータの取得タイミングを気にせずにデータを利用できます。(バッファを使用しない動作モードも用意しています)
-
バッファリングは、マルチスレッドを利用するクラスに加え、pythonの強力な非同期I/O(asyncio)を利用するクラスも用意しています。
-
Youtube APIが出力するJSONデータと互換性のあるChatProcessorを同梱しているので、既存アプリの置き換えも容易です。チャットを加工するクラスは自由にカスタマイズ可能です。