最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

為什么不要上傳原圖?一張圖片背后能提取多少信息?

2023-07-01 21:25 作者:夢(mèng)影逍遙LMR  | 我要投稿

科普:圖片中的EXIF信息

EXIF是Exchangeable Image File Format的縮寫(xiě),它是一種用于在數(shù)字圖像文件中存儲(chǔ)元數(shù)據(jù)的標(biāo)準(zhǔn)格式。元數(shù)據(jù)是關(guān)于圖片的信息,比如拍攝設(shè)備、拍攝日期和時(shí)間、曝光時(shí)間、ISO值、焦距、GPS定位等信息。

EXIF信息通常由數(shù)碼相機(jī)、智能手機(jī)等設(shè)備在拍攝照片時(shí)自動(dòng)添加到圖像文件中。這些數(shù)據(jù)可以提供有關(guān)照片的詳細(xì)信息,使用戶能夠了解拍攝環(huán)境以及使用的攝影設(shè)置。EXIF還可以記錄一些特定于設(shè)備的信息,如制造商和型號(hào)。

很多對(duì)社工感興趣的小伙伴,這時(shí)應(yīng)該會(huì)有一個(gè)大膽的想法,那就是圖片里如果包含了GPS定位信息,那豈不是別人發(fā)個(gè)朋友圈不用定位我們也知道在哪里了呢?(發(fā)朋友圈不就是為了展示自己在哪?)不妨現(xiàn)在就來(lái)試一試吧

演示:尋找下面圖片的EXIF信息

我這里找了一張昨天隨手拍的一張照片,大家可以用這張圖做測(cè)試進(jìn)行驗(yàn)證

通過(guò)電腦自帶的工具查看


下載完圖片后,右鍵屬性,點(diǎn)擊詳細(xì)信息

這里面就可以看到很多參數(shù)了,當(dāng)然也包括最重要的定位


到了這里如果你不嫌麻煩,可以用在線工具來(lái)找到具體定位

我們粗略的填入上方的29108


發(fā)現(xiàn)這里和我的實(shí)際位置相差有點(diǎn)大,那么我們?cè)倬_一點(diǎn)

真正想要獲取大家個(gè)人的人肯定不會(huì)用這么傻的方法,下面為大家講解高效的批量獲取

使用Python實(shí)現(xiàn)獲取圖片EXIF信息

這里主要就是使用了exifread模塊讀取圖片的exif信息,測(cè)試使用中需要安裝

exifread模塊Requests模塊

相關(guān)代碼

import requests

import exifread



class GetPhotoInfo:

? ? def __init__(self, photo):

? ? ? ? self.photo = photo??

? ? ? ? self.ak = '填寫(xiě)自己的百度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('拍攝時(shí)間:', tags['EXIF DateTimeOriginal'])

? ? ? ? ? ? print('照相機(jī)制造商:', tags['Image Make'])

? ? ? ? ? ? print('照相機(jī)型號(hào):', 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)

? ? ? ? ? ? # 經(jīng)度

? ? ? ? ? ? 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:請(qǐng)確保照片包含經(jīng)緯度等EXIF信息。"

? ? ? ? else:

? ? ? ? ? ? print("經(jīng)緯度:", lat, lon)

? ? ? ? ? ? return lat, lon


? ? def get_location(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('詳細(xì)地址:', address)

? ? ? ? else:

? ? ? ? ? ? print('baidu_map error')



if __name__ == '__main__':

? ? Main = GetPhotoInfo('IMG_6623.jpg')

? ? Main.get_location()

配置過(guò)程中可能會(huì)遇到的坑

使用pip安裝的時(shí)候如果你習(xí)慣開(kāi)了vpn,很有可能會(huì)報(bào)錯(cuò),然后還查不到原因。

為防止這里被別有用心的人利用,這里我就點(diǎn)到為止了(真正想干壞事的也不用我這小菜雞教)

寫(xiě)這篇文章只是為了從一個(gè)人肉者,開(kāi)盒者的角度提醒大家注意防范個(gè)人隱私的泄露。

最后引用一句網(wǎng)友的話“對(duì)于大多數(shù)人來(lái)說(shuō),個(gè)人信息會(huì)不會(huì)泄露,不取決于你想不想泄露,而取決于有沒(méi)有人想要”


為什么不要上傳原圖?一張圖片背后能提取多少信息?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
苏州市| 江津市| 融水| 如东县| 涿州市| 新源县| 冀州市| 鄢陵县| 东辽县| 沂南县| 巴塘县| 涟源市| 海阳市| 德保县| 望江县| 綦江县| 泰宁县| 磐安县| 平原县| 托克托县| 弋阳县| 巩义市| 宜兰市| 永吉县| 庆城县| 嘉祥县| 葵青区| 高州市| 大同县| 元氏县| 工布江达县| 荃湾区| 高安市| 浙江省| 漾濞| 保靖县| 隆德县| 崇明县| 西盟| 奉化市| 普兰县|