从 URL 中检索文件并使用正确的扩展名保存这些文件



我想创建一个简单的基于Python的实用程序,它可以从网页获取所有下载URL并下载内容。我找到了几种方法,我发现最好的方法是"urllib"。但不幸的是,我的问题是我无法保存具有正确扩展名的那些,因为 URL 如下所示,

http://example.com/2w3xa75

但是内容可以采用不同的格式,即.mp3、.ogg等。

如何识别类型并使用正确的扩展名保存这些内容。

你可以使用requestsmimetypes

这个想法是提取Content-TypeHTTP标头并要求mimetypes猜测相关的扩展名。

我将使用这个问题的URL作为示例(它不提供扩展名(

import requests
import mimetypes
query = requests.get('https://stackoverflow.com/questions/45488909/retrieve-files-from-urls-and-save-those-with-correct-extension')
content_type = query.headers['Content-Type']
print(mimetypes.guess_extension(content_type.split(';')[0]))

输出:

.html

一个Content-Type标题是这样的:'text/html; charset=utf-8',但只有第一部分(text/html(是mimetypes.guess_extension期望的,这就是我拆分它的原因。

最新更新