因此,我使用tkinter和urllib.request在python中制作了这个下载程序,我想让用户选择下载带有默认名称和扩展名的文件。我知道有数以百万计的教程介绍如何做到这一点,但我的问题是这个特定的URL: https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcR9JHQ-y1AyCjkJt3gl0jTtNtQdhv0lCdDYxqnc2wY9zy_hSOSy 我尝试了很多代码,比如wget和urlparse,但是没有一个能够从文件的URL中获得文件的扩展名。那么还有别的办法吗? wget命令:
url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcR9JHQ-y1AyCjkJt3gl0jTtNtQdhv0lCdDYxqnc2wY9zy_hSOSy'
test = wget.detect_filename(url)
print(test)
具有所述URL的输出:
images
urllib.parse命令:
url = 'https://encrypted-tbn0.gstatic.com/images?q=tbn%3AANd9GcR9JHQ-y1AyCjkJt3gl0jTtNtQdhv0lCdDYxqnc2wY9zy_hSOSy'
path = urllib.parse.urlparse(url).path
ext = os.path.splitext(path)[1]
print(path)
print(ext)
具有所述URL的输出:
/images
URL有问题吗
试试这个。还可以通过编辑final_file_name变量来更改输出文件的扩展名和名称。对于答案,我将其保留为“image.jpg”
您应该能够从响应头中获取MIME类型,然后使用mimetypes获取要建议的扩展名
相关问题 更多 >
编程相关推荐