我正在为一个客户迁移一家商店。
我必须从没有FTP访问权限的“商店”中取出所有旧图像文件。
它允许我导出文件名/网址列表。我的计划是在Firefox中加载它们并使用“Downloadthemall”来简单地下载所有文件。 (2000年左右)。然而,大约1 1/3有[和] in。
即。
cdn.crapshop.com/images/image [1] .JPG
下载小怪物,只读它
cdn.crapshop.com/images/image
并且不会下载它,因为它不是文件。
任何人都有任何关于拉出这样一个列表的替代方法的想法吗?
答案 0 :(得分:1)
请参阅此解决方案,解释您提供的示例网址无效的原因:Validation。看一下这篇文章之后你就会发现,在@good提供的答案中,你必须使用百分比编码来编码不符合规范的字符,这样网络服务器就能理解它们。
这需要python ...请参阅此帖子:Percent encoding in python
然后我们可以将它们放在一个脚本中,您将用它从stdin读取并输出到stdout:python script.py < input > output.out
。
import urllib, sys
while 1:
try:
line = sys.stdin.readline()
except KeyboardInterrupt:
break
if not line:
break
print urllib.quote(line.strip(), safe=':').strip('\'')
然后,希望下载它们将解析该脚本已更正的文件列表(该脚本的输入应该是由换行符分隔的url列表)。
您可能也对这篇文章感兴趣:Downloading files with python。这将向您展示如何使用python下载文件(特别是网页)。
祝你好运!