如何从scrapetube返回的字典列表中提取YouTube视频videoId
问题原因
- 你提前调用了
next(vid),会消耗生成器的第一条数据,转列表后会丢失第一个视频的信息,无需该操作。 videoL是列表类型,不支持直接用字符串作为索引取值,这是触发TypeError: list indices must be integers or slices, not str的直接原因。- 你原代码中把
entry初始化为字典,却调用了只有列表才有的append方法,即使解决索引问题后续也会报错。
解决方案
1. 提取videoId存为列表
import scrapetube vid = scrapetube.get_channel('UC_zxivooFdvF4uuBosUnJxQ') video_list = list(vid) # 遍历提取所有videoId,如直接取key报错可替换为item['contentDetails']['videoId'] video_id_list = [item['videoId'] for item in video_list]
2. 转DataFrame格式(可选)
如果需要存为DataFrame供后续处理,继续执行以下代码:
import pandas as pd df = pd.DataFrame(video_id_list, columns=['videoId'])
内容的提问来源于stack exchange,提问作者Simone
相关产品推荐
相关产品推荐

