使用python提取MP3 URL的ID3标记

使用python提取MP3 URL的ID3标记,python,url,mime-types,urllib2,id3,Python,Url,Mime Types,Urllib2,Id3,我正在开发一个python程序,可以提取mp3文件的ID3标签。我使用urllib2检查URL的MIME类型(若它是音频/mpeg),然后我需要查找有关此MP3文件的信息 问题是,我不想在我的电脑中完全加载Mp3文件,我只想提取ID3标签?那么,是否有可能在不完全下载MP3文件的情况下提取它们,因为下载会减慢我的进程 请提出一些建议 谢谢,您可以部分下载:(如果服务器支持) 重读并看到乔尔哈迪的评论,这就更容易了: jcomeau@intrepid:/tmp$ python Python 2.6

我正在开发一个python程序,可以提取mp3文件的ID3标签。我使用urllib2检查URL的MIME类型(若它是音频/mpeg),然后我需要查找有关此MP3文件的信息

问题是,我不想在我的电脑中完全加载Mp3文件,我只想提取ID3标签?那么,是否有可能在不完全下载MP3文件的情况下提取它们,因为下载会减慢我的进程

请提出一些建议


谢谢,

您可以部分下载:(如果服务器支持)

重读并看到乔尔哈迪的评论,这就更容易了:

jcomeau@intrepid:/tmp$ python
Python 2.6.6 (r266:84292, Apr 20 2011, 11:58:30) 
[GCC 4.5.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import urllib
>>> urllib.urlopen('http://latest/temp.csv')
<addinfourl at 160617676 whose fp = <socket._fileobject object at 0x9872aec>>
>>> input=_
>>> input.read(128)
'gene,species,C_frame,start_exon1,end_exon1,start_exon2,end_exon2,start_exon3,end_exon3,start_exon4,end_exon4,intron1,intron2,int'
>>> input.close()
>>>
jcomeau@intrepid:/tmp$python
Python 2.6.6(r266:842921011年4月20日11:58:30)
[GCC 4.5.2]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>导入URL库
>>>urllib.urlopen('http://latest/temp.csv')
>>>输入=_
>>>输入读取(128)
'基因,物种,C_框架,开始_外显子1,结束_外显子1,开始_外显子2,结束_外显子2,开始_外显子3,结束_外显子4,结束_外显子4,内含子1,内含子2,内特'
>>>input.close()
>>>

FYI只做ID3v2标记会容易得多,因为它们是标题。。。只需下载足够的数据以获得标记长度,下载这些字节,然后关闭连接。ID3v1标记是文件末尾的页脚,因此如果您也需要这些标记,它将更加复杂。ID3v2是可变长度(高达256米),规格如下:您是否成功完成了您一直在寻找的目标?你能读ID3标签吗?如果你能分享一个片段就好了。谢谢