lengkeyu 发表于 2022-10-4 21:19

关于python下载问题,请高手解答下,谢谢!

本帖最后由 lengkeyu 于 2022-10-5 13:57 编辑

我有多个文件链接,如http://XXX.com:XXX//file/11XX935.docx 等;
在浏览器中直接输入上述URL地址,直接下载后是带有文件名字为汉字的文件;使用python下载上述链接,如何获取汉字文件名(这个汉字文件名在哪)?
原理不是很懂,谢谢!

d8349565 发表于 2022-10-4 21:25

os.path.basename('http://XXX.com:XXX//file/11XX935.docx')

YuanFang0w0 发表于 2022-10-4 21:25

名字是链接后面的一串数字吗?

zhi_huo 发表于 2022-10-4 21:26

直接使用链接中的11.....docx不行吗?
是有其他文字吗?

luxingyu329 发表于 2022-10-4 21:31

for url in url_list:
    filename = url.split("/")[-1]
    with open(filename, "wb") as fw:
      file_content = requests.get(url=url, headers=headers).content
      fw.write(file_content)
    print(filename + "下载完成")

laoda1228 发表于 2022-10-4 21:38

先用rfind查一下点号下标=index,然后文件名=文件[:index]

tianyagd 发表于 2022-10-4 22:29

11XX935.docx类似这样的 应该是在属性里面查找
然后拼接下载地址http://XXX.com:XXX//file/
注意有的爬到的属性里面头部包含有斜杠,那么前面追加的固定url里面最后就不用斜杠

另外爬取出来的通常是列表形式,
list=['11XX935.docx ','11XX936.docx ','11XX937.docx ']
list_new=['http://XXX.com:XXX//file/'+li for li in list] #拼接地址
list_new=[''+li for li in list]

bj9ye666 发表于 2022-10-5 00:04

实话实说,我是来看python大神的

lyn038111 发表于 2022-10-5 00:38

这不是网络通信协议的问题吗,在http 响应头中找到一个content-disposition 首部

Yangxiao112 发表于 2022-10-5 07:41

良心分享哈
页: [1] 2
查看完整版本: 关于python下载问题,请高手解答下,谢谢!