Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 18, 2010 19:38:59

sliderxxx
От:
Зарегистрирован: 2010-02-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Прочитать часть удаленного файла по HTTP

Привет всем. Подскажите, какой модуль заюзать чтобы прочитать часть удаленного файла по HTTP? Часть может быть либо сначала, либо с конца. На php юзал курл с костылями, может на пайтоне есть нормальные либы? Суть в том, что надо получить id3 теги mp3 файла. Есть 2 версии ID3v1 и ID3v2, в одной данные о композиции находятся сначала, в другой (ID3v1) в конце файла. Тянуть весь файл не подходит, ибо их не мало. Для локальных файлов нашел кучу модулей, но не для удаленных. Посоветуйте что-нибудь.



Офлайн

#2 Фев. 18, 2010 19:49:44

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Прочитать часть удаленного файла по HTTP

на питоне ещё не приходилось частичным скаиванием заниматься, так что не знаю какой модуль.
на “черный” случай можно на сокетах сделать, читай раздел “Докачка и фрагментарное скачивание” с википедии http://ru.wikipedia.org/wiki/HTTP

Офлайн

#3 Фев. 18, 2010 19:55:22

sliderxxx
От:
Зарегистрирован: 2010-02-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Прочитать часть удаленного файла по HTTP

Ага, спасибо. Примерно также и делал на php. Я думал может есть модуль какой, которому говоришь: “Скачать первые/последние x байт”, или в идеале вообще модуль чтения тегов удаленного mp3 файла.



Офлайн

#4 Фев. 18, 2010 21:28:35

slav0nic
Команда
От: dp.ua
Зарегистрирован: 2006-05-07
Сообщения: 2260
Репутация: +  41  -
Профиль   Отправить e-mail  

Прочитать часть удаленного файла по HTTP

pycurl могёт вроде

curl.setopt(pycurl.RANGE, ...)
httplib
bla.putheader("range","bytes=10-40")

Офлайн

#5 Фев. 19, 2010 06:35:02

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Прочитать часть удаленного файла по HTTP

Принципиальный затык такой: HTTP (и TCP сокет в общем) дает только последовательный доступ. Так что файл все равно прийдется прочитать. После этого исползовать любую понравившуюся библиотеку.
Или читать кусочками по RANGE (если сервер умеет так отдавать) - и городить парсер тегов самому. Насколько мне известно, готовой либы для mp3 нет. Очень уж специфичный случай.



Офлайн

#6 Фев. 19, 2010 11:05:44

igor.kaist
От:
Зарегистрирован: 2007-11-12
Сообщения: 1879
Репутация: +  3  -
Профиль   Отправить e-mail  

Прочитать часть удаленного файла по HTTP

В mutagen, я думаю можно покопаться.
Если уж совсем плохо, то как вариант, делать фейковый mp3 файл, записывая в конец (начало) нужные структуры, чтоб mutagen принимал за нормальный mp3.
Сам недавно думал создать базу данных музыки, которая лежит на ftp провайдера.



Офлайн

#7 Фев. 19, 2010 11:09:12

sliderxxx
От:
Зарегистрирован: 2010-02-18
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Прочитать часть удаленного файла по HTTP

>>Если уж совсем плохо, то как вариант, делать фейковый mp3 файл, записывая в конец (начало) нужные структуры, чтоб mutagen принимал за нормальный mp3.

Так и делаю, проблема не в этом, проблема в чтении куска файла. Но, как я понял, не с каждого сервера можно прочитать кусок в конце файла.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version