Извлечете ID3 тагове на MP3 URL с помощта на python

Разработвам програма на python, която може да извлича ID3 тагове на mp3 файлове. Използвам urllib2 за проверка на MIME типа на URL адреса (ако е audio/mpeg), след което трябва да намеря информация за този MP3 файл.

Проблемът е, че не искам да зареждам този Mp3 файл напълно в моя компютър, просто искам да извлека ID3 тагове? така че възможно ли е да ги извлека без пълно изтегляне на MP3 файл, защото изтеглянето ще забави моя процес?

Моля, предложете нещо.

Благодаря,


person Kevindra    schedule 26.05.2011    source източник
comment
За ваша информация ще бъде много по-лесно да правите само ID3v2 тагове, защото те са заглавка... просто изтеглете достатъчно данни, за да получите дължината на етикета, изтеглете тези байтове, след което затворете връзката. ID3v1 таговете са долни колонтитули в края на файла, така че ако имате нужда и от тях, ще бъде по-сложно. ID3v2 е с променлива дължина (до 256 M) и спецификацията е тук: id3.org   -  person joelhardi    schedule 26.05.2011
comment
Успешно ли постигнахте това, което търсихте? Успяхте ли да прочетете ID3 тагове? Би било чудесно, ако можете да споделите фрагмент. Благодаря.   -  person bdhar    schedule 28.06.2015


Отговори (1)


Можете да извършите частично изтегляне: Изтегляне на файл чрез частично изтегляне (HTTP) ( ако сървърът го поддържа)

при препрочитане и виждане на коментара на joelhardi, това е още по-лесно:

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()
>>>
person jcomeau_ictx    schedule 26.05.2011