基于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正则表达式 re模块使用说明
May 19 Python
Python脚本实现自动发带图的微博
Apr 27 Python
python实现对文件中图片生成带标签的txt文件方法
Apr 27 Python
python实现将汉字保存成文本的方法
Nov 16 Python
Python面向对象基础入门之设置对象属性
Dec 11 Python
对python dataframe逻辑取值的方法详解
Jan 30 Python
Windows下pycharm创建Django 项目(虚拟环境)过程解析
Sep 16 Python
Python 词典(Dict) 加载与保存示例
Dec 06 Python
Python实现捕获异常发生的文件和具体行数
Apr 25 Python
Python3读取和写入excel表格数据的示例代码
Jun 09 Python
总结python 三种常见的内存泄漏场景
Nov 20 Python
解决Pymongo insert时会自动添加_id的问题
Dec 05 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
模仿OSO的论坛(三)
2006/10/09 PHP
实用函数8
2007/11/08 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
php中静态类与静态变量用法的区别分析
2015/01/15 PHP
php实现将HTML页面转换成word并且保存的方法
2016/10/14 PHP
PHP多进程之pcntl_fork的实例详解
2017/10/15 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
PHP实现的mongoDB数据库操作类完整实例
2018/04/10 PHP
PHP获取日期对应星期、一周日期、星期开始与结束日期的方法
2018/06/22 PHP
PHP实现获取url地址中顶级域名的方法示例
2019/06/05 PHP
JQUERY CHECKBOX全选,取消全选,反选方法三
2008/08/30 Javascript
本地对象Array的原型扩展实现代码
2010/12/04 Javascript
Jquery中对数组的操作代码
2011/08/12 Javascript
jquery加载图片时以淡入方式显示的方法
2015/01/14 Javascript
jQuery实现的进度条效果
2015/07/15 Javascript
如何利用JS通过身份证号获取当事人的生日、年龄、性别
2016/01/22 Javascript
使用nvm管理不同版本的node与npm的方法
2017/10/31 Javascript
详解easyui基于 layui.laydate日期扩展组件
2018/07/18 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
微信js-sdk 录音功能的示例代码
2019/11/01 Javascript
VUE实现自身整体组件销毁的示例代码
2020/01/13 Javascript
[44:09]DOTA2上海特级锦标赛A组小组赛#1 EHOME VS MVP.Phx第二局
2016/02/25 DOTA
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
在Python的Django框架上部署ORM库的教程
2015/04/20 Python
使用Python的Tornado框架实现一个Web端图书展示页面
2016/07/11 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python实现的端口扫描功能示例
2018/04/08 Python
详解在Python中以绝对路径或者相对路径导入文件的方法
2019/08/30 Python
Python3爬虫中Splash的知识总结
2020/07/10 Python
详解CSS3阴影 box-shadow的使用和技巧总结
2016/12/03 HTML / CSS
美国诺德斯特龙百货官网:Nordstrom
2016/08/23 全球购物
挪威手表购物网站:Klokker
2016/09/19 全球购物
致垒球运动员加油稿
2014/02/16 职场文书
银行先进个人事迹材料
2014/05/11 职场文书
党支部对转正的意见
2015/06/02 职场文书
Golang ort 中的sortInts 方法
2022/04/24 Golang