打开图片后显示image not loaded
下载的图片是JPEG格式
代码中写的存储方式为.jpg
把代码发一下
把你的代码用代码段</>的文本形式发一下,我们才能知道原因,好为你解答。
可能是图片文件没有下载完整,或者没有下载成功。检查一下代码,或在浏览器的地址栏输入图片网址检查一下看看是否显示图片。
从代码看,应该没有问题,如果网上有个别图片本身是png或其他非jpeg格式的文件,写入文件时,因为限定了jpg,导致因格式不正确而无法打开。如果有其他格式图片,如果只想保存jpg格式的话,可在代码中加上判断条件来过滤,比如 if 'jpeg' in img_url等。
在循环获取图片时,为避免过于频繁,可在循环中加上time.sleep(1)。
for img in p_list2:
img_url=img.xpath('./img/@src')[0]#获得详情图片的url
img_name=img.xpath('./img/@alt')[0]+'.jpg'#获得详情图片的name
response3=requests.get(url=img_url,headers=headers)#这一步获得的url是正确的,可以打开
img_text=response3.content
print(img_url)
img_pathg='./批量4k图/'+img_name
with open(img_pathg,'wb') as fp:
fp.write(img_text)
print('Done!!!')