使用“非法”字符下载图像

时间:2012-10-15 17:03:25

标签: image download bulk

我正在为一个客户迁移一家商店。

我必须从没有FTP访问权限的“商店”中取出所有旧图像文件。

它允许我导出文件名/网址列表。我的计划是在Firefox中加载它们并使用“Downloadthemall”来简单地下载所有文件。 (2000年左右)。然而,大约1 1/3有[和] in。

即。

cdn.crapshop.com/images/image [1] .JPG

下载小怪物,只读它

cdn.crapshop.com/images/image

并且不会下载它,因为它不是文件。

任何人都有任何关于拉出这样一个列表的替代方法的想法吗?

1 个答案:

答案 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下载文件(特别是网页)。

祝你好运!