[英]How do I use python-magic to get the file type of a file over the Internet?
通常我会将它下载到StringIO对象,然后运行:
m = magic.Magic()
m.from_buffer(thefile.read(1024))
但是这一次,我无法下载文件,因为图像可能是20兆字节。 我想使用Python魔术来查找文件类型而不下载整个文件 。
如果python-magic无法做到......是下一个观察标题中mime类型的最佳方法吗? 但这有多准确?
我需要准确性。
您可以在不下载整个文件的情况下调用read(1024)
:
thefile = urllib2.urlopen(someURL)
然后,只需使用您现有的代码。 urlopen
返回一个类似文件的对象,所以这很自然。
如果它是常见的图像格式之一,如png的jpg,并且您看到服务器是可靠的,那么您可以使用'Content-Type'
标头来提供您要查找的内容。
但这并不像使用文件的部分并将其传递给python-magic那样可靠,因为如果服务器没有识别出正确的格式,并且可能已将其设置为application / octet-stream。 这在视频格式中比较常见,但是图片,我认为Content-Type是可以的。
抱歉,我找不到有关Content-Type准确性的任何统计数据或研究。 仅下载部分文件的建议答案也是一个不错的选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.