最新バージョンのコードでスーパーチャットの情報を取得する
YouTubeのライブ配信から
- スーパーチャットの投げられた時間
- スーパーチャットの金額(円・ドル・ユーロ)、コメント内容
これらの情報をExcelもしくはスプレッドシートに出力・保存することができる
上記を実現できるコードを作っていただきたいです。
もしくは、下記のエラーを解決したいです。
前提
Python 3.11.1、Visual Studio Coedで動作させたいです。
発生している問題・エラーメッセージ
PS C:\Users\81804\source\repos\soturontesutttt> & C:/Users/81804/AppData/Local/Programs/Python/Python311/python.exe c:/Users/81804/source/repos/soturontesutttt/supatya.py Traceback (most recent call last): File "c:\Users\81804\source\repos\soturontesutttt\supatya.py", line 2, in <module> from pytchat import Extractor, VideoInfo, SuperchatCalculator ImportError: cannot import name 'Extractor' from 'pytchat' (C:\Users\81804\AppData\Local\Programs\Python\Python311\Lib\site-packages\pytchat\__init__.py) PS C:\Users\81804\source\repos\soturontesutttt>
該当のソースコード
from tqdm import tqdm from pytchat import Extractor, VideoInfo, SuperchatCalculator import signal ''' 進捗状況を表すプログレスバー ''' class ProgressBar: def __init__(self,total): self.total = total*1000 self.pbar = tqdm(total = self.total, ncols = 80, unit_scale = 1, bar_format='{desc}{percentage:3.1f}%|{bar}|' '[{n_fmt:>7}/{total_fmt}]{elapsed}<{remaining}') def callback(self, actions, fetched): if self.total - fetched < 0: fetched = self.total self.total -= fetched self.pbar.update(fetched) def close(self): self.pbar.update(self.total) self.pbar.close() def cancel(self): self.pbar.close() if __name__ == '__main__': video_id = "GY-LSsYVpJ4" info = VideoInfo(video_id) print('Calculate Superchat: [title] ', info.get_title()) # プログレスバーを用意する。 pbar = ProgressBar(info.get_duration()) # Extractorの生成 ex = Extractor( video_id, callback = pbar.callback, div = 10, processor = SuperchatCalculator() ) #Ctrl+Cでキャンセルする signal.signal(signal.SIGINT, (lambda a, b: ex.cancel())) #抽出の実行 result = ex.extract() #集計結果の表示 pbar.close() print(result)
試したこと
https://github.com/taizan-hokuto/pytchat/wiki/Home_jp
こちらを参照しましたが、だめでした。
補足情報
どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2023/06/20 17:59 編集