首先,说明一下python确实可以根据照片获取地理位置,但是也是有一定的限制条件的。
获取照片地理位置的实现思路是这样的:通过提取照片中的经纬度信息。然后通过经纬度信息找到具体的地理位置信息。
安装可以读取经纬度信息的python非标准库exifread
pip install exifread
将该模块导入到当前代码块中。
import exifread as ex
编写照片信息读取函数,获取照片中的经纬度信息。
def read_image():
'''
经纬度信息读取函数
:return:
'''
image = open('C:/sc.jpg', 'rb') # 打开照片文件
messages = ex.process_file(image) # 获取照片信息
'''遍历提取照片信息'''
for message in messages:
print('照片信息:', message)
if message == "GPS GPSLongitude":
print("经度 =", messages[message], messages['GPS GPSLatitudeRef'])
elif message == "GPS GPSLatitude":
print("纬度 =", messages[message], messages['GPS GPSLongitudeRef'])
if __name__ == '__main__':
read_image()
通过上面的处理已经获取当前的经纬度信息,现在只需要根据经纬度信息获取具体的地理位置就可以了。
直接使用web网站去查询地理位置就可以了。
地理位置转换网址:http://www.giscalculator.com/enter_regeocode_input/
最后,那么如何防止自己的手机照片被追踪到地址呢,需要说明一下照片被获取地理位置信息的硬性条件。
1、手机是安卓手机才会出现被追踪位置的情况。 2、手机拍摄时开启了GPS定位的照片才会存储GPS位置信息,否则是获取不到的。 3、手机照片在发送过程中必须是原图发送才会出现将照片其他信息发送给别人的情况。
根据上面情况,手机在拍照时关闭定位、发送给别人照片时为避免信息泄漏不要使用原图发送,若是苹果手机暂时不用担心啦!