神探Python程序员,带你千里捉小三!

微信小程序—经纬度逆地址解析的实现 小ZXZ小 阅读详情

程序员的隐秘

大家好我是小P
在众人眼中,我是一名Python程序员。
但其实我还有个不为人知的身份,私家侦探!
今天,我接到了一份委托….

一份委托

通过委托人的述说,专门查了一下深圳最近的天气,保持在10-20度之间,带羽绒服的动作确实有些匪夷所思。因为只是怀疑不能直白的查岗,该如何默默地私下调查呢?在和委托人深入探讨时,看到她老公发了一张汉庭酒店的入住照片。然而汉庭酒店在全国都有分店,也不能说明什么啊!

突然我灵机一动,也许这一张足以成为是否出轨的证据了!在委托人疑惑中,我让她把这张照片发到了我的电脑上,经过我飞速的代码编写,真想就此浮出水面!

图片信息查询

通过解析照片,获取到了照片的详细与经纬度,在通过经纬度逆推,得到了最终的拍摄地理位置:陕西省西安市碑林区含光北路162号,拿起手机搜索了一下这个地址实锤了,汉庭酒店无疑!

委托人的连夜机票,最终完成了千里捉小三的壮举!全剧终…

获取照片地理位置

故事到这里结束了,但是小P侦探是如何通过代码解析到照片中的具体位置呢?如果人人都可以通过照片解析他人的位置,岂不是乱了套了!别急,想通过代码解析微信发送的照片地理位置,需要满足以下几点要求:

  1. 他人通过选择原图的方式,发送照片

  2. 相机拍照时,默认设置了GPS定位

  3. 非iphone手机(iphone的地理位置,不会保存在照片中)

现在的手机在拍照时,默认都是打开GPS地位的。那么你只需要确认对方手机不是iphone的,然后让他给你发送原图就OK了。
照片属性中保存了经纬度,可我们如何能通过经纬度逆推地理位置呢?此时我们需要使用到百度地图的逆地理编码工具:

百度地图逆地理编码

接口很简单,我们简单注册后,创建一个针对地理位置解析的应用即可:


小P侦探的代码

说了这么多,最终的逆天代码发布出来,让大家也和小P侦探一样,圆个福尔摩斯的梦吧!

# -*- coding: utf-8 -*-
# @Author   : 王翔
# @微信号   : King_Uranus
# @公众号    : 清风Python
# @GitHub   : https://github.com/BreezePython
# @Date     : 2019/12/3 23:33
# @Software : PyCharm
# @version  :Python 3.7.3
# @File     : Meetlove.py

import requests
import exifread


class GetPhotoInfo:
    def __init__(self, photo):
        self.photo = photo
        # 百度地图ak
        self.ak = 'nYPs4LQ9a4VhVxj55AD69K6zgsRy9o4z'
        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:请确保照片包含经纬度等EXIF信息。"
        else:
            print("经纬度:", 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('详细地址:', address)
        else:
            print('baidu_map error')


if __name__ == '__main__':
    Main = GetPhotoInfo('微信图片_20191203180732.jpg')
    Main.get_location()

网络安全不容忽视

通过这篇文章,大家也需要对网络安全有所警惕了!不要随便发送原图给你不熟悉的人,如需发送可以在照片中进行相关的编辑打码等操作,这样可以去除照片的地理位置信息。另外,朋友圈发布的图片,微信都做了转码处理,不用担心这点。

更多有趣有用文章

懒人专用的奇淫技巧,用Python实现炫酷的语音操作电脑

Python里三个最高逼格的调试神器

九大神招,让Python里数据分析神器Jupyter,完美升华

推荐一款Python编辑器,集Pycharm和Sublime优点于一身的王者

当心啊!仅仅50行Python,就可以在手机端看小姐姐的电脑桌面!

自动编写Python程序的神器,Python 之父都发声力挺!

觉得不错就点一下“在看”吧 

[NOIP2003]侦探推理 详解+python实现 目录题意数据范围样例数据分析正确理解题目证词的含义推理的正确性算法复杂度代码 题意 M个人一起玩侦探游戏,其中有一名是凶手(其他人不知情),现在你要通过这些人的证词查明谁是凶手。证词有以下几种类型: 我是凶手 我不是凶手 XXX是凶手 XXX不是凶手 今天是星期几,如一、二、三、四、五、六、日 其他,如天气真好(该类证词无效,无需推理) 每个人可能有多句证词,但已知其中有N个人始终说真话,剩下的人始终说假话。具体是哪N个人未知。 请你协助破案,推断出谁是凶手。请记住,凶手只有一个。 如果判断出不止一个人 阅读详情

相关推荐

python 1014 福尔摩斯的约会 (20 分)

大侦探福尔摩斯接到一张奇怪的字条:我们约会吧! 3485djDkxh4hhGE 2984akDfkkkkggEdsb s&hgsfdk d&Hyscvnm。大侦探很快就明白了,字条上奇怪的乱码实际上就是约会的时间星期四 14:04,因为前面两字符串中第 1 对相同的大写英文字母(大小写有区分)是第 4 个字母 D,代表星期四;第 2 对相同的字符是 E ,那是第 5 个英文字母,代...

weixin_42914530的博客 1335

用python进行计算机破案_用Python对刑侦科推理题进行分析

用Python对刑侦科推理题进行分析发布时间:2020-06-24 10:02:37来源:亿速云阅读:105作者:清晨这篇文章主要介绍用Python对刑侦科推理题进行分析,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!刑侦科推理题,不知是谁设计出来的,逻辑严整细致,有耐心看完题目的人就没几个。如果这真是刑警的日常考试题,我觉得他们实在是太厉害了,保证犯罪分子难逃法网。...

weixin_29022115的博客 1231

SpringBoot+Vue+Mysql社区医院信息平台(源码+文档)

SpringBoot+Vue+Mysql学生宿舍信息管理系统 WEB端软件项目(源码+文档) 项目包含:①完整源码(后端+管理后台+用户前台);②数据库脚本文件;③万字论文文档;④开题报告;⑤答辩PPT;⑥项目运行视频教程。 项目架构: B/S 架构、MVC 分层设计 技术栈: Java、MySQL、SpringBoot、MyBatis-Plus、Token 权限校验、管理后台 Vue+ElementUI+ECharts、用户前台 Layui+jQuery、Maven 构建。 一、角色设计 学生用户: 注册登录、浏览宿舍信息、查询宿舍安排、在线报修、缴费查询、失物招领、桶装水预订、评论交流、收藏等。 商家用户: 注册登录、桶装水品牌与商品信息维护、预订订单查看与处理。 维修人员: 注册登录、查看待处理报修、接单维修、填写报修处理结果与进度反馈。 管理员: 学生管理、班级管理、宿舍信息管理、宿舍安排管理、报修处理管理、缴费信息管理、卫生检查与文明宿舍管理、失物招领管理、桶装水与商家管理、维修人员管理、公告资讯与轮播图管理等。 二、前台功能模块(学生端) 1. 首页展示:轮播图、宿舍公告、最新动态推荐、常用服务快速入口 2. 宿舍信息模块:宿舍列表、楼栋与房间条件筛选、宿舍详情查看、我的宿舍安排查询 3. 在线报修模块:在线提交宿舍设施报修申请、上传故障描述、查看报修进度与维修处理结果 4. 缴费模块:水电等缴费记录查询、缴费状态查看 5. 卫生检查与文明宿舍:宿舍卫生检查结果公示、文明宿舍展示 6. 失物招领模块:失物信息发布、招领信息发布、详情查看、评论互动 7. 桶装水预订:桶装水品牌与商品浏览、在线预订、我的预订记录查询 8. 假期留宿:假期留校申请提交、申请记录查询 9. 评论与收藏:信息评论、查看他人评论、评论回复互动、收藏感兴趣的内容 10. 个人中心...

坐标转换程序——经纬度—平面—像素间的正推与反推

Qt中经纬度、平面、像素坐标间的相互转换坐标转换程序——像素——平面——经纬度间的反推像素坐标——平面坐标反向推导平面坐标——经纬度坐标反向推导坐标转换程序——经纬度—平面—像素间的正推(二次转换)经纬度坐标——平面坐标平面坐标——像素坐标坐标转换程序——经纬度—像素间的正推(一次转换) 坐标转换程序——像素——平面——经纬度间的反推 像素坐标——平面坐标反向推导 /***************************像素坐标——平面坐标反向推导**********************/ double

qq_41545537的博客 1186

YOLOv8作物病害检测实战源码

这是一套基于YOLOv8n的农田病虫害目标检测系统,对叶片照片做目标检测,识别健康叶片、褐斑病、白粉病、锈病四类,并给出对应防治建议。全流程纯CPU可跑,配套交付完整Python源码、9章实战教程(md/html/pdf三种格式)、100张自造样本及YOLO标签、训练曲线与混淆矩阵截图、Tkinter界面和答辩PPT。 系统围绕五项功能展开:同一套推理逻辑覆盖图像、视频、摄像头三种来源;图形界面选文件即检测,画面叠彩色框标注病名与置信度,右侧面板同步给出症状与防治措施;检测记录自动写入CSV,统计页一键生成四类病害占比饼图;训练结束自动产出损失与精度曲线;内置防治建议文案库,检测命中即回填面板。 选型用YOLOv8n nano档,参数量约320万、权重约6.2MB,CPU单帧几十毫秒,小样本训练5到8分钟完成。数据由data_gen.py程序化绘制100张叶片图,固定随机种子,重跑分布一致,不依赖公开数据集。依赖全部锁版本,教程第7章整理了19条真实报错及排查方法,第8章给出换模型档、换PlantVillage数据集的迁移路径。 适合做计算机视觉方向课程设计或毕业设计的学生,也适合智慧农业方向想了解检测模型如何落进业务面板的学习者。不需要GPU,不需要系统学过目标检测,教程第3章会按需补齐原理。 使用时先pip install -r requirements.txt装好依赖,download_data.py下载预训练权重,data_gen.py生成样本后train.py训练,完成后用main.py infer批量检测或main.py gui启动界面。

数据挖掘实战:决策树 + 聚类 + 关联规则,零 Key 离线可跑(Python 源码)

数据挖掘实战包。用 Python 标准库实现 CART 风格决策树、K-Means 聚类与 Apriori 关联规则,在虚构「星河便利店」会员表和购物篮上跑通分类、分群与购物篮分析,并给出准确率、轮廓系数、支持度/置信度/提升度。零第三方依赖、零 API Key 即可离线跑通。含 4 个样例、离线冒烟、中文 README(含「使用方法」)。均为作者原创可运行源码。MIT。作者 blog.youkuaiyun.com/mtl1994

神探程序员,带你千里捉小三!

程序员的隐秘 大家好我是小P 在众人眼中,我是一名Python程序员。 但其实我还有个不为人知的身份,私家侦探! 今天,我接到了一份委托.... 一份委托 通过委托人的述说,专门查了一下深圳最近的天气,保持在10-20度之间,带羽绒服的动作确实有些匪夷所思。因为只是怀疑不能直白的查岗,该如何默默地私下调查呢?在和委托人深入探讨时,看到她老公发了一张汉庭酒店的入住照片...

清风Python 412

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?.docx

科技中介服务机构在技术供需对接中如何实现服务流程的自动化与标准化?

python 只循环目录_使用Python给美女壁纸加水印

阅读文本大概需要 5 分钟。经常写文章分享的小伙伴,会在各大平台发自己的原创文章,为了避免抄袭,让自己的原创文章得到更好的传播,我们需要对文章的图片加上水印。有些平台可以选择是否对图片加水印,比如公众号平台。有些平台没有这个选择,比如自己搭建的网址,有些同学擅长 photoshop 之类的工具,可能会手动给图片加水印,作为一名合格的 pythoner,我们当然用 Python 来自动给图...

weixin_39799307的博客 232

产业园区如何高效对接企业技术需求与高校科研成果?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

国央企创新负责人如何快速掌握本地科技资源分布与匹配情况?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

python多进程_代码详解Python多线程、多进程、协程

一、前言很多时候我们写了一个爬虫,实现了需求后会发现了很多值得改进的地方,其中很重要的一点就是爬取速度。本文就通过代码讲解如何使用多进程、多线程、协程来提升爬取速度。注意:我们不深入介绍理论和原理,一切都在代码中。二、同步首先我们写一个简化的爬虫,对各个功能细分,有意识进行函数式编程。下面代码的目的是访问300次百度页面并返回状态码,其中parse_1函数可以设定循环次数,每次循环将当前...

weixin_39605326的博客 183

国央企创新负责人如何实现科技成果的精准识别与高效筛选?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

OCR识别缺点_10行代码,用python打造实时截图识别工具

你一定用过那种“OCR神器”,可以把图片中的文字提取出来,极大的提高工作效率。今天,我们就来做一款实时截图识别的小工具。顾名思义,运行程序时,可以实时的把你截出来的图片中的文字识别出来。下次,当你想要复制“百度文库”中的内容时,不妨试试这个程序。效果预览源码解析1)等待用户截图此处需要借助贴图神器(Snipaste)其中“f1”是截图的快捷键,“ctrl+c”是把截图保存到剪贴板的快捷键...

weixin_39767645的博客 245

高校技术转移办公室人员如何系统化管理科技成果信息?.docx

科易网基于AI模型+行业大数据,在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,推出科技创新领域的AI+工具与数智化解决方案,推动科技创新与产业创新智能化发展。

领域驱动设计整理——实体和值对象设计

实体引言在领域驱动设计里,实体的设计可以说是通用语言的核心,也是最开始在模型划分中需要考虑的。怎么样设计实体和怎么样划分限界上下文同样重要。实体的概念就是要保证通用语言的完整性。领域驱动让设计实体的关注点从数据的属性和表的关联转化到了富有行为的领域概念上。 实体是具有可变性的,这是一个和值对象比较明显的区分,也即实体是可以持续得变化,持续得修改,并且具有唯一的标识。在设计实体的时候需要跳出CRUD的

马猴烧酒└(┐卍^o^)卍ドゥルルル~楪詩月「YUZURIHA SHIZUKI」 2万+

html5 使用Geolocation来获取经纬度地址

以前如果要获取互联网用户所在地都是根据用户的IP地址来获取地理位置,这样获取到的数据和真实数据有很大的偏差。为了获取更加精确的位置,可以使用了html5的geolocation来获取经纬度,然后再获取...

lumot的博客 1013

四旋翼无人机数学模型推导

本周开始进行四旋翼无人机的学习工作,首先来进行四旋翼无人机的数学模型推导工作。。 四旋翼动力学数学模型 坐标变换 介绍四旋翼数学模型之前,首先引入坐标变换的概念,定义两个坐标系惯性坐标系{E},以及机体坐标系{B},惯性坐标系就相当于在地面建立的、静止不动的坐标系,也是我们操纵无人机所在的空间,而机体坐标系是建立于四旋翼机体之上,随着四旋翼姿态变换而变化,所以建立一种地面上的惯性坐标系与四旋翼机体坐标系之间的转换关系,就有这个必要。 对于惯性坐标系{E},以及机体坐标系{B},它们之间的转换关系

BiuBiuSun的博客 1万+

第一百二十五期:程序员的自我救赎,使用Python开发性格分析工具

如此不均衡的贫富差距,各行业的领导者如何能管理好公司,让员工们既努力产出,又能安于现状呢?每个领导者必学的一门课程就是职场心理学。只有你充分了解员工心理与对应的行为表现,才能从容的掌控各类型的人员,从而达到“物尽其用”。 作者:清风Python 如此不均衡的贫富差距,各行业的领导者如何能管理好公司,让员工们既努力产出,又能安于现状呢?每个领导者必学的一门课程就是职场心理学。只有你充分了解员工心...

歌谣的博客 645

软考「系统规划与管理师(第2版)」通关全攻略(2026年下半年)

它考的是一个IT管理者能不能用体系化的语言,把"我们为什么要建这个系统→怎么规划→怎么管好服务→怎么合规"讲圆。所以备考的核心策略也很明确——教材建框架 → 真题磨考点 → 案例练结构 → 论文备好真实项目素材 → 机考练打字。按计划走,不贪全、不盲刷、不死背,稳稳把三科都推过45分那条线。祝你通关 🎯。

软件行业技术文化交流。 3045

ReAct 智能体 Agent:架构解析与实践拓展

ReAct 智能体 Agent 凭借其推理与行动协同的独特架构,在众多人工智能应用场景中展现出巨大的潜力。从智能办公到教育辅导,从智能家居到工业物联网,ReAct 智能体通过精准推理和高效行动,为用户提供了更加智能、便捷的服务体验。然而,在实际应用过程中,仍面临工具调用安全、模型持续学习、多智能体协作管理以及性能优化等多方面的挑战。通过合理的策略和技术创新,如强化工具审核机制、构建持续学习框架、设计高效协作协议和采用性能优化手段,我们有望逐步克服这些挑战,进一步提升 ReAct 智能体的性能和可靠性。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1687

利用Python爬虫一天内抓取百万张网页的心得总结

一、优化硬盘存储 所以千万级网页的抓取是需要先设计的,先来做一个计算题。共要抓取一亿张页面,一般一张网页的大小是400KB左右,一亿张网页就是1亿X200KB=36TB 。这么大的存储需求,一般的电脑和硬盘都是没法存储的。所以肯定要对网页做压缩后存储,可以用zlib压缩,也可以用压缩率更好的bz2或pylzma 。 二、优化内存,URL去重 再来说内存占用问题,做爬虫程序为了防止重复抓取UR...

qq_37117258的博客 1903

Python对象的基本组成和内存示意图及引用的本质

在Python中,变量也称为:对象的引用(reference)。变量存储的就是对象的地址。变量不需要显式声明类型。根据变量引用的对象,Python解释器自动确定数据类型。一个内存块,拥有特定的值,支持特定类型的相关操作。变量位于:栈内存(压栈出栈等细节,后续再介绍)。⚠️Python是动态类型语言。变量通过地址引用了“对象”。

Calor13的博客 557
上一篇: 答题送书,看谁答的快!精选Python爬虫和入门书籍!
下一篇: 拒绝被坑!如何用Python和数据分析鉴别刷单!
菜鸟学Python
博客等级 码龄9年 8063粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值