0
다운로드 할 때 자동 파일 이름을 얻는 방법? 그래서 파일을 다운로드하고 파일 이름 자체를 자동으로 이름 노래/아티스트 (이름 : amgdgapwgd.mp3)에서 (아티스트 - 노래 제목 .mp3)로 저장합니다.다운로드 할 때 파일 이름 mp3 바꾸기
다운로드 할 때 자동 파일 이름을 얻는 방법? 그래서 파일을 다운로드하고 파일 이름 자체를 자동으로 이름 노래/아티스트 (이름 : amgdgapwgd.mp3)에서 (아티스트 - 노래 제목 .mp3)로 저장합니다.다운로드 할 때 파일 이름 mp3 바꾸기
이 작업을 수행하려는 언어는 무엇입니까? 또한 파일이 downloadable
을 true로 반환하면 파일의 이름이 적절해야합니다.
예 : JSON에서
https://soundcloud.com/msmrsounds/ms-mr-hurricane-chvrches-remix
:
이 파일에 대한 링크"download_url": "https://api.soundcloud.com/tracks/90787841/download"
: Hurricane (CHVRCHES remix).wav
stream_url
MP3가 제대로라는 이름의 파일을 반환하지 않습니다. 다음은 API에서 트랙 이름을 가져 와서 해당 파일 이름의 스트리밍 파일을 다운로드하기 위해 작성한 작은 Python 스크립트입니다. URL 변수를 다운로드하려는 트랙의 soundcloud.com URL로 바꿉니다.
import json, requests
url = 'https://api.soundcloud.com/resolve.json'
your_client_id = '[PUT YOUR client_id HERE]'
params = dict(
url='https://soundcloud.com/msmrsounds/ms-mr-hurricane-chvrches-remix',
client_id=your_client_id,
)
# resolve
resp = requests.get(url=url, params=params)
data = json.loads(resp.text)
# get api url
track_url = data.get('location')
track_resp = requests.get(url=url, params=params)
track_data = json.loads(resp.text)
# get stream_url
track_title = track_data.get('title')
stream_url = track_data.get('stream_url')
print track_title
print stream_url
stream_params = dict(
client_id=your_client_id,
)
stream_resp = requests.get(url=url, params=params)
# pass in title + '.mp3' for filename
with open(track_title + '.mp3', 'wb') as handle:
response = requests.get(url=stream_url, params=stream_params, stream=True)
if not response.ok:
# Something went wrong
print 'Error downloading mp3'
for block in response.iter_content(1024):
if not block:
break
handle.write(block)
이 질문은 내가 원하는 것을하기 위해 헤더를 사용하여 해결되었습니다. 답변을 주셔서 감사합니다 @ JAL –
@AgusSayyupoenya 내 대답은 허용으로 표시하시기 바랍니다. 감사. – JAL