更多>>关于我们

西安鲲之鹏网络信息技术有限公司从2010年开始专注于Web(网站)数据抓取领域。致力于为广大中国客户提供准确、快捷的数据采集相关服务。我们采用分布式系统架构,日采集网页数千万。我们拥有海量稳定高匿HTTP代理IP地址池,可以有效绕过各种反采集策略。

您只需告诉我们您想抓取的网站是什么,您感兴趣的字段有哪些,你需要的数据是哪种格式,我们将为您做所有的工作,最后把数据(或程序)交付给你。

数据的格式可以是CSV、JSON、XML、ACCESS、SQLITE、MSSQL、MYSQL等等。

更多>>官方微博

当前位置: 首页 > 技术文章 >
如何判断JPG文件下载完整了?
发布时间:2015-08-05 来源:未知 浏览:

由于网络问题在采集JPG图片的时候可能会出现不完整的情况,如下图示例:

如何避免这种情况呢?首先我们要能判断出一个JPG文件是否完整,然后对于不完整的进行重新下载,直至下载到完整的为止。

如何判断JPG图片的完整性?

1)方法一:采用PIL库(Python代码如下)。优点:适用常见各种格式图片。缺点:对于某些情况判断失败。

from PIL import Image 

def valid_image(image_path):
    v_image = Image.open(image_path)
    try:
        v_image.verify()
    except Exception, e:
        return False
    else:
        return True

2)方法二:对于JPG图片,判断文件最后两个字节是否是'\xff\xd9',如果不是则表明文件不完整。优点:简单,准确。

Python代码如下:

def is_valid_jpg(jpg_file):
    """判断JPG文件下载是否完整
    """
    if jpg_file.split('.')[-1].lower() == 'jpg':
        with open(jpg_file, 'rb') as f:
            f.seek(-2, 2)
            return f.read() == '\xff\xd9'
    else:
        return True
特别说明:该文章为鲲鹏数据原创文章 ,您除了可以发表评论外,还可以转载到别的网站,但是请保留源地址,谢谢!!(尊重他人劳动,我们共同努力)
☹ Disqus被Qiang了,之前的评论内容都没了。现在改用国产的友言。如果您有爬虫相关技术方面的问题,欢迎发到我们的问答平台:http://spider.site-digger.com/
QQ在线客服
欢迎咨询,点击这里给我发送消息。
欢迎咨询,点击这里给我发送消息。