基于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 相关文章推荐
在Apache服务器上同时运行多个Django程序的方法
Jul 22 Python
详解Python安装scrapy的正确姿势
Jun 26 Python
python远程连接MySQL数据库
Apr 19 Python
Python实现word2Vec model过程解析
Dec 16 Python
Python3 实现爬取网站下所有URL方式
Jan 16 Python
Pytorch之finetune使用详解
Jan 18 Python
python GUI库图形界面开发之PyQt5窗口背景与不规则窗口实例
Feb 25 Python
Python创建临时文件和文件夹
Aug 05 Python
Python求区间正整数内所有素数之和的方法实例
Oct 13 Python
pycharm实现猜数游戏
Dec 07 Python
Python基于百度AI实现抓取表情包
Jun 27 Python
python游戏开发Pygame框架
Apr 22 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
JS 网站性能优化笔记
2011/05/24 PHP
php数组函数序列之asort() - 对数组的元素值进行升序排序,保持索引关系
2011/11/02 PHP
thinkPHP5 ACL用户权限模块用法详解
2017/05/10 PHP
PHP模糊查询技术实例分析【附源码下载】
2019/03/07 PHP
Prototype使用指南之ajax
2007/01/10 Javascript
扩展javascript的Date方法实现代码(prototype)
2010/11/20 Javascript
JavaScript中把数字转换为字符串的程序代码
2013/06/19 Javascript
js贪吃蛇网页版游戏特效代码分享(挑战十关)
2015/08/24 Javascript
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
Vue组件库发布到npm详解
2018/02/17 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
2018/03/14 Javascript
vue文件树组件使用详解
2018/03/29 Javascript
Vue条件循环判断+计算属性+绑定样式v-bind的实例
2018/09/18 Javascript
Javascript Web Worker使用过程解析
2020/03/16 Javascript
JS判断浏览器类型与操作系统的方法分析
2020/04/30 Javascript
[02:48]DOTA2英雄基础教程 拉席克
2013/12/12 DOTA
[01:38]女王驾到——至宝魔廷新尊技能&特效展示
2020/06/16 DOTA
python 字符串格式化代码
2013/03/17 Python
python 字典(dict)遍历的四种方法性能测试报告
2014/06/25 Python
python判断字符串是否包含子字符串的方法
2015/03/24 Python
Python3 socket同步通信简单示例
2017/06/07 Python
django数据库migrate失败的解决方法解析
2018/02/08 Python
Flask框架使用DBUtils模块连接数据库操作示例
2018/07/20 Python
python-tornado的接口用swagger进行包装的实例
2019/08/29 Python
Python Opencv提取图片中某种颜色组成的图形的方法
2019/09/19 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Pytorch 中retain_graph的用法详解
2020/01/07 Python
英国50岁以上人群的交友网站:Ourtime
2018/03/28 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
《商鞅南门立木》教学反思
2014/02/16 职场文书
公司户外活动总结
2014/07/04 职场文书
2014年英语工作总结
2014/12/20 职场文书
2015年清明节网上祭英烈活动总结
2015/03/26 职场文书
初中运动会闭幕词范本3篇
2019/12/09 职场文书