【问题标题】:Downloading Images with "illegal" characters [closed]下载带有“非法”字符的图像[关闭]
【发布时间】:2012-10-15 17:03:25
【问题描述】:

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

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

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

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

Downloadthemall 吓坏了,只是把它读作

cdn.crapshop.com/images/image

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

任何人对提取这样的列表的替代方法有任何想法?

【问题讨论】:

    标签: image download bulk


    【解决方案1】:

    请参阅此解决方案,了解您提供的示例 URL 无效的原因:Validation。在您查看该帖子后,您会发现,在@good 提供的答案中,您必须使用百分比编码对不符合规范的字符进行编码,以便网络服务器能够理解它们。

    这需要 python... 看到这个帖子:Percent encoding in python

    然后我们可以将它们放在一个脚本中,您将使用该脚本从标准输入读取并输出到标准输出: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 下载文件(尤其是网页)。

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2013-09-01
      • 1970-01-01
      • 2010-11-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-26
      相关资源
      最近更新 更多