基于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字符串对象的实现
Dec 24 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
May 05 Python
python opencv 图像拼接的实现方法
Jun 27 Python
Python 保持登录状态进行接口测试的方法示例
Aug 06 Python
Python 类,property属性(简化属性的操作),@property,property()用法示例
Oct 12 Python
关于numpy.where()函数 返回值的解释
Dec 06 Python
python实现图片二值化及灰度处理方式
Dec 07 Python
使用 PyTorch 实现 MLP 并在 MNIST 数据集上验证方式
Jan 08 Python
浅谈Python中range与Numpy中arange的比较
Mar 11 Python
通过Python扫描代码关键字并进行预警的实现方法
May 24 Python
Python使用UDP实现720p视频传输的操作
Apr 24 Python
python批量创建变量并赋值操作
Jun 03 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 - Html Transfer Code
2006/10/09 PHP
IIS下PHP连接数据库提示mysql undefined function mysql_connect()
2010/06/04 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
并发下常见的加锁及锁的PHP具体实现代码
2010/10/12 PHP
使用 PHPMAILER 发送邮件实例应用
2012/11/07 PHP
浅析iis7.5安装配置php环境
2015/05/10 PHP
用jquery来定位
2007/02/20 Javascript
Js 订制自己的AlertBox(信息提示框)
2009/01/09 Javascript
JS 参数传递的实际应用代码分析
2009/09/13 Javascript
jquery1.4后 jqDrag 拖动 不可用
2010/02/06 Javascript
JS实现时间格式化的方式汇总
2013/10/16 Javascript
基于Jquery实现键盘按键监听
2014/05/11 Javascript
jQuery中ajax的get()方法用法实例
2014/12/26 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
2015/03/03 Javascript
js实现文本框只允许输入数字并限制数字大小的方法
2015/08/19 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
个人小程序接入支付解决方案
2019/05/23 Javascript
Vue实现 点击显示再点击隐藏效果(点击页面空白区域也隐藏效果)
2020/01/16 Javascript
vue-cli3项目升级到vue-cli4 的方法总结
2020/03/19 Javascript
跟老齐学Python之字典,你还记得吗?
2014/09/20 Python
python中使用mysql数据库详细介绍
2015/03/27 Python
python按行读取文件,去掉每行的换行符\n的实例
2018/04/19 Python
详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
2018/12/02 Python
Python 解决OPEN读文件报错 ,路径以及r的问题
2019/12/19 Python
pytorch的梯度计算以及backward方法详解
2020/01/10 Python
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
宿舍使用违章电器检讨书
2014/01/12 职场文书
幼儿园教师安全责任书
2015/05/08 职场文书
战马观后感
2015/06/08 职场文书
中学图书馆工作总结
2015/08/11 职场文书
通知怎么写?
2019/04/17 职场文书
详解Javascript实践中的命令模式
2021/05/05 Javascript
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
MySQL Innodb索引机制详细介绍
2021/11/23 MySQL