0

我正在尝试使用scrapy下载图像,但出现错误...我知道问题但我不知道如何解决...这里是图像的链接

由于它们是某种 ID,因此与 URL 相关联,例如:jpg?1368772608

我收到此错误:

  File "/usr/lib/python2.7/dist-packages/PIL/Image.py", line 1423, in save
    raise KeyError(ext) # unknown extension
exceptions.KeyError: '.jpg?1368772608'

有人可以告诉我如何解决这个问题

4

2 回答 2

2

这会在 ? 之后删除该部分?以便 PIL 可以识别图像扩展名:

>>> url = 'http://images.styletagassets.com/attachments/98315/product/WTSMIC0003_2.jpg?1368772608'
>>> url.split('?')[0]

'http://images.styletagassets.com/attachments/98315/product/WTSMIC0003_2.jpg'
于 2013-05-17T13:44:19.550 回答
0

这定义了一个返回正确 url 的函数。它允许?在不被删除的情况下出现在 url 中。你可以点击这里测试我输出的 url。

import re
url = r"http://images.styletagassets.com/attachments/98315/product/WTSMIC0003_2.jpg?1368772608"
def fix(url):
    return re.match("(.+?)(?=\?\d+)",url).group()
print(fix(url))
>>> 
http://images.styletagassets.com/attachments/98315/product/WTSMIC0003_2.jpg
于 2013-05-17T13:44:35.997 回答