基于python实现查询ip地址来源


Posted in Python onJune 02, 2020

从http://freeapi.ipip.net和http://ip-api.com/json/这两个网站提供的免费调用接口查询IP地址归属地。

接口调用方法是在url后面直接加上IP地址。

url = 'http://freeapi.ipip.net/218.192.3.42' #中文免费
url2 = 'http://ip-api.com/json/218.192.3.42' #外国网站

ip.py:

import sys
import requests

def main(argv):

  url = 'http://freeapi.ipip.net/'  #中文免费
  url2 = 'http://ip-api.com/json/'  #外国网站
  args = sys.argv[1]
  url=url+format(args)
  url2 = url2 + format(args)
  response = requests.get(url)
  response2 = requests.get(url2)

  str=response.text.replace('\"','') #去掉双引号
  str=str.replace('[','')      #去掉方括号
  str=str.replace(']','')
  str=str.replace(' ','')

  str=str.split(",")  #已逗号为分割符号,分割字符串为数组
  print("****************************************")
  print("您查询的IP地址 %s 来源地是:"%args)
  print("国家:%s"%(str[0])) #访问数组里面的值
  print("省份:%s"%(str[1]))
  print("城市:%s"%(str[2]))
  print("区域:%s"%(str[3]))
  str[4] = str[4].replace('\n', '') #去掉回车符号
  print("运营商:%s"%(str[4]))
  print("数据来源<www.ipip.net免费查询接口>")
  print("****************************************")
  strpp={}         #定义一个字典strpp
  strpp=response2.json()  #把英文网站json接口返回值传给字典strpp
  print("\n")        #下面就是直接从字典取值,显示。
  print("您查询的IP地址 %s 来源地是:"%(strpp.get('query')))
  print("国家:%s"%(strpp.get('country')))
  print("城市:%s"%(strpp.get('city')))
  print("经纬度坐标:%s,%s"%(strpp.get('lat'),strpp.get('lon')))
  print("运营商编号:%s"%(strpp.get('as')))
  print("ISP服务商:%s"%(strpp.get('isp')))
  print("数据来源<www.ip-api.com免费查询接口>")
  print("****************************************")
if __name__ == "__main__":
  main(sys.argv)

运行的方法是直接进入该程序所在的工程文件夹中,

然后输入cmd

基于python实现查询ip地址来源

然后输入python ip.py ip地址

基于python实现查询ip地址来源

基于python实现查询ip地址来源

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现线程池的方法
Jun 30 Python
Python编程产生非均匀随机数的几种方法代码分享
Dec 13 Python
Pandas 同元素多列去重的实例
Jul 03 Python
python利用requests库进行接口测试的方法详解
Jul 06 Python
Python中单线程、多线程和多进程的效率对比实验实例
May 14 Python
python算法与数据结构之冒泡排序实例详解
Jun 22 Python
python 画出使用分类器得到的决策边界
Aug 21 Python
Python迷宫生成和迷宫破解算法实例
Dec 24 Python
python数据预处理 :数据抽样解析
Feb 24 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
python eventlet绿化和patch原理
Nov 21 Python
python爬不同图片分别保存在不同文件夹中的实现
Apr 02 Python
新版Pycharm中Matplotlib不会弹出独立的显示窗口的问题
Jun 02 #Python
Pycharm生成可执行文件.exe的实现方法
Jun 02 #Python
Python实现初始化不同的变量类型为空值
Jun 02 #Python
浅谈Python程序的错误:变量未定义
Jun 02 #Python
在python3.64中安装pyinstaller库的方法步骤
Jun 02 #Python
PyInstaller的安装和使用的详细步骤
Jun 02 #Python
Pyinstaller 打包发布经验总结
Jun 02 #Python
You might like
php实现的DateDiff和DateAdd时间函数代码分享
2014/08/16 PHP
Yii框架form表单用法实例
2014/12/04 PHP
Symfony2安装的方法(2种方法)
2016/02/04 PHP
laravel Validator ajax返回错误信息的方法
2019/09/29 PHP
javascript下判断一个元素是否存在的代码
2010/03/05 Javascript
浅析jQuery对select操作小结(遍历option,操作option)
2013/07/04 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
javascript 通用loading动画效果实例代码
2014/01/14 Javascript
JS长整型精度问题实例分析
2015/01/13 Javascript
js实现类似jquery里animate动画效果的方法
2015/04/10 Javascript
初步使用bootstrap快速创建页面
2016/03/03 Javascript
深入理解javascript函数参数与闭包
2016/12/12 Javascript
jQuery实现表格冻结顶栏效果
2017/08/20 jQuery
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
2018/01/16 Javascript
在vue项目中集成graphql(vue-ApolloClient)
2018/09/08 Javascript
详解vue 中 scoped 样式作用域的规则
2020/09/14 Javascript
python递归计算N!的方法
2015/05/05 Python
python中文件变化监控示例(watchdog)
2017/10/16 Python
解决已经安装requests,却依然提示No module named requests问题
2018/05/18 Python
wxPython的安装与使用教程
2018/08/31 Python
一文秒懂python读写csv xml json文件各种骚操作
2019/07/04 Python
Django自带日志 settings.py文件配置方法
2019/08/30 Python
利用Python绘制有趣的万圣节南瓜怪效果
2019/10/31 Python
解决django 向mysql中写入中文字符出错的问题
2020/05/18 Python
python 自动识别并连接串口的实现
2021/01/19 Python
留学推荐信中文范文三篇
2014/01/25 职场文书
上班玩手机检讨书
2014/02/17 职场文书
节约电力资源的建议书
2014/03/12 职场文书
2014年最新学习全国两会精神心得
2014/03/17 职场文书
2014年网络管理员工作总结
2014/12/01 职场文书
兼职安全员岗位职责
2015/02/15 职场文书
工程质量保证书
2015/05/09 职场文书
2016继续教育培训学习心得体会
2016/01/19 职场文书
2019年个人工作总结范文(3篇)
2019/08/27 职场文书
Django 实现jwt认证的示例
2021/04/30 Python
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL