加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 移动互联 > 正文

我背着女朋友,用 Python 偷偷抓取了她的行踪

发布时间:2019-08-30 18:46:46 所属栏目:移动互联 来源:星安果
导读:1.目标场景 有时候女朋友一个人在外面玩耍,问她在哪个地方,就是不告诉我。但是,你又很想知道女朋友的「位置」,这该如何是好? 其实你可以这样套路女朋友,假装自己在家很无聊,可以帮她修图,让她微信发原图给你,拿到「微信原图」后,你就可以利用 Pyt

另外需要注意的是,接口中经度、纬度参数只能识别小数点后 6 位,需要对经纬度中的度、分、秒做一定的数据处理,然后再进行四舍五入。

  1. def __format_lati_long_data(self, data): 
  2.     """ 
  3.     对经度和纬度数据做处理,保留6位小数 
  4.     :param data: 原始经度和纬度值 
  5.     :return: 
  6.     """ 
  7.     # 删除左右括号和空格 
  8.     data_list_tmp = str(data).replace('[', '').replace(']', '').split(',') 
  9.     data_list = [data.strip() for data in data_list_tmp] 
  10.  
  11.     # 替换秒的值 
  12.     data_tmp = data_list[-1].split('/') 
  13.  
  14.     # 秒的值 
  15.     data_sec = int(data_tmp[0]) / int(data_tmp[1]) / 3600 
  16.  
  17.     # 替换分的值 
  18.     data_tmp = data_list[-2] 
  19.  
  20.     # 分的值 
  21.     data_minute = int(data_tmp) / 60 
  22.  
  23.     # 度的值 
  24.     data_degree = int(data_list[0]) 
  25.  
  26.     # 由于高德API只能识别到小数点后的6位 
  27.     # 需要转换为浮点数,并保留为6位小数 
  28.     result = "%.6f" % (data_degree + data_minute + data_sec) 
  29.     return float(result) 

第 3 步,调用高德的反地理编码 API,传入申请的应用 Key,就能拿到女朋友的详细地址。

  1. def __get_address(self, location): 
  2.     """ 
  3.     根据坐标得到详细地址 
  4.     :param location: 经纬度值 
  5.     :return: 
  6.     """ 
  7.     resp = requests.get(self.url_get_position.format(self.api_key, location)) 
  8.  
  9.     location_data = json.loads(resp.text) 
  10.  
  11.     address = location_data.get('regeocode').get('formatted_address') 
  12.  
  13.     return address 

4.结果结论

确保图片是原图的基础上,可以快速帮你判断女朋友是否在撒谎;如果女朋友没有撒谎,就返回女朋友具体的位置。

【编辑推荐】

  1. 面向中级 Python 开发人员的 13 个项目构想
  2. 处理亿级数据的“定时任务”,如何缩短执行时间?
  3. 终于学会Python?别闹了,本文中的东西你搞懂了吗?
  4. Python中的两个测试工具
  5. 7步搞定Python数据可视化,大牛出品教程,Jupyter、Colab版都有
【责任编辑:华轩 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读