Python使用youtubesearchpython时如何让搜索结果逐行竖向排列
问题原因
直接执行print(videosSearch.result())时,Python会将方法返回的嵌套字典以默认紧凑格式打印,所有内容无换行横向堆叠,就会出现内容杂乱挤在一起的情况。
解决方案
方法1:使用标准库pprint自动格式化(零额外依赖)
pprint是Python自带的结构化数据美化打印工具,无需额外安装,会自动按照数据层级做换行、缩进处理,直接实现竖向排列效果:
from youtubesearchpython import VideosSearch import pprint videosSearch = VideosSearch('wonderwall', limit=100) # 关闭字典键自动排序,保持接口返回的原字段顺序,设置缩进为2保证可读性 printer = pprint.PrettyPrinter(indent=2, sort_dicts=False) printer.pprint(videosSearch.result())
方法2:自定义遍历输出核心字段(匹配简洁列表效果)
如果不需要输出接口返回的冗余字段,想要清爽的逐行列表效果,可以遍历视频结果列表,按需提取字段打印:
from youtubesearchpython import VideosSearch videosSearch = VideosSearch('wonderwall', limit=100) video_results = videosSearch.result()['result'] for index, video in enumerate(video_results, start=1): print(f"[{index}] {video['title']}") print(f"链接:{video['link']}") print(f"时长:{video['duration']} | 播放量:{video['viewCount']['short']} | 发布时间:{video['publishedTime']}") print(f"所属频道:{video['channel']['name']}") print("-" * 60)
运行后效果和预期一致:
内容的提问来源于stack exchange,提问作者J.R. BEATS
相关产品推荐
相关产品推荐

