Python处理MP3的歌词和图片
浏览:8392次 出处信息
一些MP3播放器(包括iphone、ipod、itouch、blackberry等)可以在播放mp3的时候显示专辑图片、歌词等信息而不需要额外的图片文件和歌词文件,仅仅一个mp3文件就搞定,比较有意思。除了用专门的软件(比如itunes)来制作这样的mp3,我们还可以用程序来批量生成。
查阅mp3头信息ID3V2的技术文档,发现可以往ID3信息里面加入歌词和图片信息(可以在页面上查找Lyrics、Attached picture就能发现相应的内容)。有了官方格式上的支持,我们要做的就是把歌词和图片加入到MP3文件中去。
测试一些开源的软件包,发现一个比较可靠的:eyeD3,由python语言编写,直接上代码:
以下是代码片段:#coding=utf-8 import eyeD3 import re # mp3文件 mp3_file = '/path/to/foobar.mp3' # lrc歌词文件 lrc_file = '/path/to/foobar.lrc' # 专辑图片 pic_file = '/path/to/foobar.jpg' # 实例化eyeD3 tag = eyeD3.Tag() # 绑定到mp3文件 tag.link(mp3_file) # 去掉原文件中可能存在的图片 tag.removeImage() # 去掉原文件中可能存在的歌词 tag.removeLyrics() # 设定编码,非常重要,否则不支持中文 tag.encoding = '\x01' # 添加图片 tag.addImage(3, pic_file, u'') # 添加歌词,注意要utf-8编码,去掉lrc中时间信息 tag.addLyrics(re.sub('(\[.*?\][\n]*)+', '', unicode(open(lrc_file, 'r')).read(), 'utf8'))) # 更新到文件 tag.update() |
代码非常简单,需要注意的是设定编码,不然歌词就乱码了。有了eyeD3之后,可以写个爬虫,从网上抓下歌词和图片直接灌进MP3文件里面,剩下的就是享受了。
建议继续学习:
- 配置Nginx+uwsgi更方便地部署python应用 (阅读:105476)
- 如何成为Python高手 (阅读:53493)
- python实现自动登录discuz论坛 (阅读:31655)
- python编程细节──遍历dict的两种方法比较 (阅读:19065)
- 每个程序员都应该学习使用Python或Ruby (阅读:16334)
- 使用python爬虫抓站的一些技巧总结:进阶篇 (阅读:12190)
- 30分钟3300%性能提升――python+memcached网页优化小记 (阅读:12224)
- 我的PHP,Python和Ruby之路 (阅读:11912)
- 关于使用python开发web应用的几个库总结 (阅读:7508)
- 为什么python里要 if __name__ == ‘__main__’: (阅读:7227)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:搜索引擎爬虫蜘蛛的USERAGENT收集
后一篇:squid对源网站进行限速 >>
文章信息
- 作者:超群.com 来源: 超群.com的博客
- 标签: mp3 Python
- 发布时间:2010-01-23 16:17:34
建议继续学习
近3天十大热文
- [69] Twitter/微博客的学习摘要
- [67] IOS安全–浅谈关于IOS加固的几种方法
- [65] android 开发入门
- [65] 如何拿下简短的域名
- [63] find命令的一点注意事项
- [62] Go Reflect 性能
- [61] 流程管理与用户研究
- [60] Oracle MTS模式下 进程地址与会话信
- [59] 图书馆的世界纪录
- [57] 读书笔记-壹百度:百度十年千倍的29条法则