Я занимался этим пару дней, и мне совсем не повезло.Несмотря на чтение более этих двух сообщений, я не могу переписать этот маленький скрипт на python, который я написал в ruby.
clean_link = link['href'].replace(' ', '%20')
mp3file = urllib2.urlopen(clean_link)
output = open('temp.mp3','wb')
output.write(mp3file.read(2000))
output.close()
Я пытался использовать open-uri
и net/http
, чтобы сделать то же самое в ruby, но продолжаю сталкиваться с проблемой перенаправления URL.Пока у меня есть
clean_link = link.attributes['href'].gsub(' ', '%20')
link_pieces = clean_link.scan(/http:\/\/(?:www\.)?([^\/]+?)(\/.*?\.mp3)/)
host = link_pieces[0][0]
path = link_pieces[0][1]
Net::HTTP.start(host) do |http|
resp = http.get(path)
open("temp.mp3", "wb") do |file|
file.write(resp.body)
end
end
Есть ли более простой способ сделать это в ruby?Кроме того, как и в случае сценария Python, есть ли способ загрузить только часть файла?
РЕДАКТИРОВАТЬ: прогресс обновлен