如何将pytchat采集的YouTube直播评论数据保存为CSV文件
代码问题分析
- 循环中仅打印了评论JSON内容,未将实际的评论数据存储到容器中,最终没有可用的结构化数据生成CSV
- 直接将
pytchat实例对象chat传入pd.DataFrame()不符合语法要求,该对象本身不是可解析为表格的评论数据集
修正后可正常保存CSV的代码
import pytchat import time import pandas as pd # 初始化存储评论的空列表 comment_list = [] chat = pytchat.create(video_id="uIx8l2xlYVY") try: while chat.is_alive(): # 批量获取当前时段的评论 for comment in chat.get().items: # 按需提取需要保存的字段,可自行增减字段 comment_data = { "评论时间": comment.datetime, "用户名": comment.author.name, "用户频道ID": comment.author.channelId, "评论内容": comment.message, "是否会员": comment.is_sponsor } comment_list.append(comment_data) time.sleep(5) except KeyboardInterrupt: # 按下Ctrl+C停止采集后保存数据 print("采集已停止,正在保存数据...") pd.DataFrame(comment_list).to_csv('out.csv', index=False, encoding='utf-8-sig') print(f"共保存{len(comment_list)}条评论至out.csv")
补充说明
- 运行代码后按下
Ctrl+C即可停止采集并自动保存CSV,使用utf-8-sig编码可以避免Windows系统下打开CSV出现中文乱码 - 你可以根据自己的需求调整要保存的字段,pytchat的评论对象还支持获取是否超级留言、打赏金额等属性,按需添加到
comment_data字典即可
内容的提问来源于stack exchange,提问作者gzpach
相关产品推荐
相关产品推荐

