提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
第一次发布文章,请多多关照。本文章介绍exifread库的在获取照片信息的用法。有写得不好的,请多多谅解
提示:以下是本篇文章正文内容,下面案例可供参考
一、申请ak
登录百度地图开发平台:https://lbsyun.baidu.com/index.php?title=%E9%A6%96%E9%A1%B5
选择里面的控制台,来到我的应用,创建应用。以下是本人的操作,你也可以选择其他。
提交成功后,可以看见自己的ak
二、使用步骤
1.引入库
代码如下(示例):
pip installexifread
代码如下(示例):
import requests
import exifread
class LocateInformation:
def __init__(self, photo):
self.photo = photo
self.ak = 'oNbEGcLL2sMtq1XOK2cuXyYlvZ1QRqTX'# 填写刚刚获取到ak
self.location = self.get_photo_info()
def get_photo_info(self, ):
with open(self.photo, 'rb') as f:
tags = exifread.process_file(f)
try:
print('北京时间:', tags['EXIF DateTimeOriginal'])
print('手机制造商:', tags['Image Make'])
print('手机型号:', tags['Image Model'])
print('照片尺寸:', tags['EXIF ExifImageWidth'], tags['EXIF ExifImageLength'])
lat_ref = tags["GPS GPSLatitudeRef"].printable
lat = tags["GPS GPSLatitude"].printable[1:-1].replace(" ", "").replace("/", ",").split(",")
lat = float(lat[0]) + float(lat[1]) / 60 + float(lat[2]) / float(lat[3]) / 3600
if lat_ref != "N":
lat = lat * (-1)
lon_ref = tags["GPS GPSLongitudeRef"].printable
lon = tags["GPS GPSLongitude"].printable[1:-1].replace(" ", "").replace("/", ",").split(",")
lon = float(lon[0]) + float(lon[1]) / 60 + float(lon[2]) / float(lon[3]) / 3600
if lon_ref != "E":
lon = lon * (-1)
except KeyError:
return "ERROR:照片中不包含经纬度等信息。"
else:
print("经纬度:", lat, lon)
return lat, lon
def Get_positioning(self):
url = 'http://api.map.baidu.com/reverse_geocoding/v3/?ak={}&output=json' \
'&coordtype=wgs84ll&location={},{}'.format(self.ak, *self.location)
response = requests.get(url).json()
status = response['status']
if status == 0:
address = response['result']['formatted_address']
print('详细地址:', address)
else:
print('baidu_map error')
if __name__ == '__main__':
Main = LocateInformation('123.jpg') #照片的路径
Main.Get_positioning()
总结
案例只是记录一下exifread库的使用。有需要的可以拿走,这里提醒一下广大朋友,为防止信息,可以尝试在拍照时把手机定位关闭,也为了自身的安全,请不要给陌生人发照片,防止泄露信息。谢谢
————————————————
版权声明:本文为CSDN博主「weixin_41874697」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41874697/article/details/117291784