这篇文章主要介绍了用python找出那些被“标记”的照片的相关资料,需要的朋友可以参考下
源码传送门
环境准备
下面的两个第三方模块都可以直接通过pip快速安装,这里使用py36作为运行环境。
python3.6
requests
exifread
思路
遍历目录
拉取数据集合
遍历集合取得exif
exif信息整理,并获取实体地址
拷贝文件到结果样本目录
生成json报告文件
基础知识
下面是现今相片中会存在与GPS相关的关键字,大牛亦可一比带过~ [参考]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
初始化
考虑到exifread的模块中有大量的logging输出,这里将它的level级别调到最高。 然后下边的KEY是某站在高德地图API的时候遗留下来的 我也很尴尬。。就当福利了
1 2 3 4 5 6 7 8 9 |
|
主逻辑函数
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
遍历方法
遍历指定及其所有下级目录,并返回全部的图片的路径集合,这里要注意的是每次扫描后的拷贝行为都会生成缓存,所以通过指定 $ 来避开。
1 2 3 4 5 6 7 8 9 10 11 |
|
经纬度格式化
度分秒转浮点,方便api调用查询,因为存在一些诡异的数据比如 1/0,所以默认返回0
1 2 3 4 5 6 7 |
|
EXIF信息整理
考虑到大部分的设备还未开始支持朝向、速度、测量依据等关键字,这里暂时只使用比较常见的,如有需要的朋友可以自行添加。毕竟得到的信息越多对社工有更大的帮助。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 |
|
地址转换
一个简单的爬虫,调用高德地图api进行坐标转换,考虑到原本是跨域,这里添加基础的反防爬代码。这里有个小细节,海外的一律都取不到(包括台湾),可以通过更换googlemap的api来实现全球查询。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
|
实例
运行该代码 然后输入保存文件夹名和扫描位置即可
这边可以看到8019张中有396张存在有效的地理位置,打码的地方就不解释了,各位老司机~后期打算加入图像识别,和相似度识别。
下面给大家分享小编收集整理的python专题知识:
python基本语法
python多线程学习教程
python排序算法大全
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!