事情是这样的
正准备下班的python开发小哥哥
接到女朋友今晚要加班的电话
并给他发来一张背景模糊的自拍照
如下 ↓ ↓ ↓
)
敏感的小哥哥心生疑窦,难道会有原谅帽
)
然后python撸了一段代码 分析照片
分析下来 emmm
)
拍摄地址居然在 XXX酒店
小哥哥崩溃之余 大呼上当
)
python分析照片
小哥哥将发给自己的照片原图下载下来
并使用python写了一个脚本
读取到了照片拍摄的详细的地址
详细到了具体的街道和酒店名称
引入exifread模块
首先安装python的exifread模块,用于照片分析
pip install exifread 安装exfriead模块
1 | arduino复制代码PS C:\WINDOWS\system32> pip install exifread |
GPS经纬度信息
其实我们平时拍摄的照片里,隐藏了大量的私密信息
包括 拍摄时间、极其精确 具体的GPS信息。
下面是通过exifread模块,来读取照片内的经纬度信息。
1 | python复制代码#读取照片的GPS经纬度信息 |
百度API将GPS转地址
这里需要使用调用百度API,将GPS经纬度信息转换为具体的地址信息。
这里,你需要一个调用百度API的ak值,这个可以注册一个百度开发者获得,当然,你也可以使用博主的这个ak
调用之后,就可以将拍摄时间、拍摄详细地址都解析出来。
1 | ini复制代码def find_address_from_GPS(GPS): |
老王得到的结果是这样的
照片拍摄地址:(‘云南省红河哈尼族彝族自治州弥勒县’, ‘云南省’, ‘红河哈尼族彝族自治州’, ‘弥勒县’, ‘湖泉酒店-A座东南128米’)
云南弥勒湖泉酒店,这明显不是老王女友工作的地方,老王搜索了一下,这是一家温泉度假酒店。
顿时就明白了
1 | arduino复制代码{"status":0,"result":{"location":{"lng":103.41424699999998,"lat":24.410461020097278}, |
完整代码如下
1 | python复制代码import exifread |
本文转载自: 掘金