我正在尝试使用Python语言中的requests下载mp3文件
示例url - https://example.net/song.mp3
r = requests.get(downnloadLink)
with open(r"C:\Users\shrey\Desktop\test.mp3", 'wb') as f:
f.write(r.content)
print("Downloaded!")正在下载该文件,但我无法播放该文件并收到此错误

它似乎没有以正确的格式下载
发布于 2021-01-01 19:54:50
我想你在下载html的内容。你应该检查你下载的是不是'mp3‘。因此,首先使用普通浏览器下载该文件,然后将其与使用脚本下载的文件进行比较。您可以只比较它们的散列,看看它们是否相同。
但是,如果您想要的只是一个下载mp3的脚本,您可以使用以下脚本。
import requests
url = "URL FOR THE MUSIC FILE"
def DownloadFile(url):
local_filename = 'test.mp3'
r = requests.get(url)
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=1024):
if chunk: # filter out keep-alive new chunks
f.write(chunk)
return None
DownloadFile(url)发布于 2021-01-01 19:39:16
问题是,Windows在使用Python下载.mp3文件时会跳过一个步骤。然而,这不是Linux会发生的事情。
要在Linux中下载.mp3文件,您需要尝试以二进制文件模式打开该文件。打开(mp3Name,"wb")你可能会得到行结束的翻译。
这个文件是二进制的,是的。当打开一个文件时,可以将其设置为以文本文件的形式读取(这是默认设置)。当它这样做时,它将转换行尾以匹配平台。在Windows上,行结束位置\r\n在大多数其他位置,它不是\r就是\n。此更改会扰乱数据流
https://stackoverflow.com/questions/65529276
复制相似问题