基于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 相关文章推荐
在Gnumeric下使用Python脚本操作表格的教程
Apr 14 Python
Python 内置函数complex详解
Oct 23 Python
使用Python的turtle模块画图的方法
Nov 15 Python
python绘制双柱形图代码实例
Dec 14 Python
python随机在一张图像上截取任意大小图片的方法
Jan 24 Python
Python父目录、子目录的相互调用方法
Feb 16 Python
python远程连接MySQL数据库
Apr 19 Python
python 导入数据及作图的实现
Dec 03 Python
Python 识别12306图片验证码物品的实现示例
Jan 20 Python
Python读取文件内容为字符串的方法(多种方法详解)
Mar 04 Python
Django用数据库表反向生成models类知识点详解
Mar 25 Python
django model 条件过滤 queryset.filter(**condtions)用法详解
May 20 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
PHILIPS AE3805收音机的分析打磨
2021/03/02 无线电
php str_replace的替换漏洞
2008/03/15 PHP
PHP调用VC编写的COM组件实例
2014/03/29 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
php pdo操作数据库示例
2017/03/10 PHP
js中eval()函数和trim()去掉字符串左右空格应用
2013/02/02 Javascript
jquery struts 验证唯一标识(公用方法)
2013/03/27 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
优化javascript的执行效率一些方法总结
2013/12/25 Javascript
js读取被点击次数的简单实例(从数据库中读取)
2014/03/07 Javascript
Jquery的基本对象转换和文档加载用法实例
2015/02/25 Javascript
批量下载对路网图片并生成html的实现方法
2016/06/07 Javascript
再谈javascript常见错误及解决方法
2016/09/16 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
js实现文字向上轮播功能
2017/01/13 Javascript
简单实现vue中的依赖收集与响应的方法
2019/02/18 Javascript
Vue的H5页面唤起支付宝支付功能
2019/04/18 Javascript
JavaScript实现轮播图效果代码实例
2019/09/28 Javascript
使用vue引入maptalks地图及聚合效果的实现
2020/08/10 Javascript
Python解释执行原理分析
2014/08/22 Python
python将MongoDB里的ObjectId转换为时间戳的方法
2015/03/13 Python
使用Python装饰器在Django框架下去除冗余代码的教程
2015/04/16 Python
Python django实现简单的邮件系统发送邮件功能
2017/07/14 Python
浅谈Python NLP入门教程
2017/12/25 Python
Python定时任务sched模块用法示例
2018/07/16 Python
Python实现的括号匹配判断功能示例
2018/08/25 Python
python生成器与迭代器详解
2019/01/01 Python
python实现局域网内实时通信代码
2019/12/22 Python
python获取依赖包和安装依赖包教程
2020/02/13 Python
Python3中的tuple函数知识点讲解
2021/01/03 Python
eBay爱尔兰站:eBay.ie
2019/08/09 全球购物
活动邀请函范文
2014/01/19 职场文书
2015年市场部工作总结
2015/04/30 职场文书
初中同学会致辞
2015/08/01 职场文书
Python-OpenCV教程之图像的位运算详解
2021/06/21 Python
Python基础 括号()[]{}的详解
2021/11/07 Python