图片信息也是存在元数据的,网上官方称之为exif(exchange image file format),中文意思是交换图像文件格式。要注意的是有些图片是没有元数据的,比如压缩过的图片,元数据被破坏,无法探测,所以图片一定要是原图。如果你想用微信朋友圈,微博的图片来测试这次的代码,怕是没有希望了,因为都是被压缩过的图片。后续会提供一些额外思路,通过图片来定位物理信息在网络安全中还是非常有用途的。
这次用到的是python第三方库exifread,通过此库可以直接对图片进行元数据的读取。读取后其中有4项是关于GPS的经纬度坐标,将其清洗转化为gps在线网页(http://www.gpsspg.com/maps.htm)查询的经纬度格式。
# -*- coding: utf-8 -*-
"""
@desc: 读取图片,解析其中的元数据小脚本
在线GPS定位网站:http://www.gpsspg.com/maps.htm
"""
import os
import exifread
class MetaPicture(object):
# 类变量,图片文件夹的绝对路径
picture_paths = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'picture')
def