【发布时间】:2010-10-26 02:51:30
【问题描述】:
我需要在 Python 中通过 http 下载几个文件。
最明显的方法就是使用 urllib2:
import urllib2
u = urllib2.urlopen('http://server.com/file.html')
localFile = open('file.html', 'w')
localFile.write(u.read())
localFile.close()
但我将不得不处理以某种方式令人讨厌的 URL,例如:http://server.com/!Run.aspx/someoddtext/somemore?id=121&m=pdf。当通过浏览器下载时,该文件有一个人类可读的名称,即。 accounts.pdf。
有没有办法在 python 中处理它,所以我不需要知道文件名并将它们硬编码到我的脚本中?
【问题讨论】:
-
服务器上的文件名是否相关?大概这些文件对你有一些意义,所以你应该能够自己命名它们。如果名称没有意义,请自己想出一个随机的唯一名称(也许是 uuid?)
-
我希望文件名具有可读性和意义。问题是,脚本将从文本文件中下载 URL,并且这些 URL 将由非技术人员添加和删除。