[英]Images crawled by python from website cannot be open by photoshop
该网页类似于:
<img data-s="300,640" data-type="jpeg" data-src="http://mmbiz.qpic.cn/mmbiz/2ibL1hUwSYSJO5BkyCQMicnPL5y1yAkcKh3YCITccD4IxWibI2wKpgYatDXgBBvOW01oOnGZGPVmfMDR0cQKSjeew/0?wx_fmt=jpeg" data-ratio="1.7613636363636365" data-w="440" width="auto" style="margin: 0px; padding: 0px; box-sizing: border-box !important; word-wrap: break-word !important; width: auto !important; visibility: visible !important; height: auto !important;" _width="auto" src="http://mmbiz.qpic.cn/mmbiz/2ibL1hUwSYSJO5BkyCQMicnPL5y1yAkcKh3YCITccD4IxWibI2wKpgYatDXgBBvOW01oOnGZGPVmfMDR0cQKSjeew/640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy=1">
所以我的脚本下载图像:
imgs = soup.find_all('img')
for img in imgs:
if img != None and img['data-type']=="jpeg":
count += 1
link = img['data-src']
piccode = urllib2.urlopen(link).read()
picname = "pic"+str(count)+".jpg"
with open(picname,'wb') as code:
code.write(piccode)
但是我下载的jpg文件无法用photoshop打开或编辑。 我以某种方式填补了我下载的图片很烦的原因,为什么?
第一
确保已使用正确的权限设置了保存的文件。
然后
我无法回答“为什么Photoshop无法打开您的图片”的问题。 但我可以提供一种对我有用的选择。 在下面
似乎urllib
具有一个内置功能,该功能可以在一行中下载和保存文件。 不知道urllib2是否可以,但是我找不到任何东西。
更换
piccode = urllib2.urlopen(link).read()
用
urllib.urlretrieve(link, pic_filename)
您还可以摆脱此行之后的代码,因为urlretrieve
在一行中完成了所有这些操作。
让我知道这是否有效以及您是否需要更多帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.