python - 使用 eyeD3 从 URL 嵌入专辑封面

标签 python metadata id3 eyed3

我正在编写一个Python脚本,它从服务器下载音乐文件,然后从URL向其中添加专辑图像,为此,我使用下面的原始代码的eyeD3 Python库。

import eyed3

mySong = eyed3.load('C:\Users\PC\Music\Test.mp3')
mySong.tag.album_artist = u'Artist-Name'
mySong.tag.images.remove(u'')
mySong.tag.images.set(3, 'None', 'https://upload.wikimedia.org/wikipedia/en/6/60/Recovery_Album_Cover.jpg')
mySong.tag.save()

我尝试了此命令的不同版本,它要么不返回错误,但不会像上面的代码那样嵌入图像,要么返回一条错误消息,指出“ValueError:没有图像数据时,img_url 不得为 none”。

在我的其他替代方案是直接从文件夹中的 URL 存储下载图像并从那里嵌入然后删除之前,任何人都可以成功使用 eyeD3 的这一部分,显然我的其他解决方案会更好。

最佳答案

您可以使用urllib2从URL中获取图像的图像数据,然后在eyed3中使用它。

import urllib2
response = urllib2.urlopen(your image url)  
imagedata = response.read()

import eyed3
file = eyed3.load("song.mp3")
file.tag.images.set(3, imagedata , "image/jpeg" ,u"Description")
file.tag.save()

关于python - 使用 eyeD3 从 URL 嵌入专辑封面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40515738/

相关文章:

c++ - 在 C++ 中从文件末尾读取最有效的方法是什么? (解析文件中的最后 128 位)

python - 功能和方法之间的差异

python - 重复 numpy 数组的每个元素 5 次

python - 从图像中读取文本

python - PyQt5:pyuic5 - 未知的 Qt 小部件:QKeySequenceEdit

php - htmlspecialchars 将撇号转换为 '对于 facebook og :title tag

c++ - 你如何在 C++ 中读入一个 3 字节大小的值作为整数?

Ruby mp3 Id3解析

c# - 类型的类型的(官方)术语是什么?

metadata - 在 visual studio 中加载元数据时出错