Python获取IP地址对应的地理位置信息!
开发工具
Python版本:3.6.4相关模块:IPy模块;argparse模块;requests模块;以及一些Python自带的模块。
环境搭建
安装Python并添加到环境变量,pip安装需要的相关模块即可。
先睹为快
py文件运行方式(cmd窗口):python ipLocQuery.py -ip ipaddrpython ipLocQuery.py -f ipaddrfileexe文件运行方式(cmd窗口):ipLocQuery.exe -ip ipaddripLocQuery.exe -f ipaddrfile效果如下:
在学习中有迷茫不知如何学习的朋友小编推荐一个学Python的学习q u n 227 -435- 450可以来了解一起进步一起学习!免费分享视频资料
原理简介
利用了三个可以查询ip地址对应归属地的网站做的这个小工具,分别是:
① ip.taobao.com
速度快,查国内的ip地址对应归属地比较精确。
② ip-api.com
速度很慢,准确性一般,国内外ip地址对应归属地均可查询,同时提供了经纬度信息。
③ api.ipstack.com(推荐)
速度快,准确性高,国内外ip地址对应归属地均可查询,同时提供了经纬度信息。
代码实现起来比较简单,主要流程为:
(1)IP地址有效性验证
图方便,就直接调用IPy模块来验证的,有bug。具体代码如下:
(2)请求API接口获取ip地址对应归属地
根据ip地址分别请求每个网站提供的API接口来获取ip地址对应归属地。由于返回结果是英文或者拼音,因此需要调用有道翻译的API接口对返回结果进行翻译,最后再把翻译结果打印出来。
具体代码实现如下(以ipstack为例):

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python零基础学习笔记(四十)—— datetime和Calendar
import datetime import time ''' datetime比time高级了不少,可以理解为date time基于time进行了封装, 提供了各种实用的函数,date time模块的接口更为直观,更容易调用 模块中的类: datetime 同时有时间和日期 timedelta 主要用于计算时间跨度 tzinfo 时区相关 time 只关注时间 date 只关注日期 ''' #获取当前时间 d1 = datetime.datetime.now() print(d1) # d2 = datetime.datetime(1995, 4, 28,10,23,34,123355) print(d2) # d3 = datetime.datetime.time(d1) print(d3) #将时间转换为字符串 #d4 = d1.strptime("%Y-%m-%d %X") #print(d4) #时间加减 d5 = d1 - d2 print(d5) #间隔的天数 print(d5.days) #间隔天数除外的秒数 print(d5.seconds) import calen...
- 下一篇
[译]PEP 342--增强型生成器:协程
PEP原文 : https://www.python.org/dev/peps/pep-0342/ PEP标题: Coroutines via Enhanced Generators PEP作者: Guido van Rossum, Phillip J. Eby 创建日期: 2005-05-10 合入版本: 2.5 目录 简介 动机 规格摘要 规格:将值发送到生成器 新的生成器方法:send(value) 新的语法:yield 表达式 规格:异常和清理 新语法:yield 允许在try-finally中 新的生成器方法:throw(type,value = None,traceback = None) 新的标准异常:GeneratorExit 新的生成器方法:close() 新的生成器方法:__del__() 可选的扩展 扩展的 continue 表达式 未决问题 示例 参考实现 致谢 参考文献 版权 简介 这个 PEP 在生成器的 API 和语法方面,提出了一些增强功能,使得它们可以作为简单的协程使用。这基本上是将下述两个 PEP 的想法结合起来,如果它被采纳,那它们就是多余的了: ...
相关文章
文章评论
共有0条评论来说两句吧...