urllib:从直接下载lin获取文件名

2024-07-03 07:45:13 发布

您现在位置:Python中文网/ 问答频道 /正文

Python3。可能需要使用urllib来完成此操作

我需要知道如何发送一个请求到一个直接下载链接,并得到它试图保存的文件名。在

(例如,来自CurseForge的KSP mod:https://kerbal.curseforge.com/projects/mechjeb/files/2355387/download

当然,文件ID(2355387)将被更改。它可以来自任何项目,但总是在CurseForge。(如果这对下载方式有影响的话。)

该示例链接将生成文件:

Download Screenshot

如何在Python中返回该文件名?在

编辑:我应该注意,如果可能,我希望避免保存文件、读取文件名、然后删除文件。这似乎是最糟糕的方法。在


Tags: 文件httpscommod链接文件名filesurllib
1条回答
网友
1楼 · 发布于 2024-07-03 07:45:13

使用^{},当您从url请求响应时,响应包含对您正在下载的url的引用。在

>>> from urllib.request import urlopen    
>>> url = 'https://kerbal.curseforge.com/projects/mechjeb/files/2355387/download'
>>> response = urlopen(url)
>>> response.url
'https://addons-origin.cursecdn.com/files/2355/387/MechJeb2-2.6.0.0.zip'

可以使用^{}获取文件名:

^{pr2}$

相关问题 更多 >