基于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随机生成指定长度密码的方法
Apr 04 Python
python实现提取百度搜索结果的方法
May 19 Python
python @property的用法及含义全面解析
Feb 01 Python
python打包压缩、读取指定目录下的指定类型文件
Apr 12 Python
Python对切片命名的实现方法
Oct 16 Python
关于Django ForeignKey 反向查询中filter和_set的效率对比详解
Dec 15 Python
python 用所有标点符号分隔句子的示例
Jul 15 Python
python+tifffile之tiff文件读写方式
Jan 13 Python
解决jupyter notebook 前面书写后面内容消失的问题
Apr 13 Python
在ipython notebook中使用argparse方式
Apr 20 Python
详解Django配置JWT认证方式
May 09 Python
Django用户登录与注册系统的实现示例
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
一个显示天气预报的程序
2006/10/09 PHP
PHP实现用户认证及管理完全源码
2007/03/11 PHP
php cookies中删除的一般赋值方法
2011/05/07 PHP
FireFox浏览器使用Javascript上传大文件
2013/10/30 PHP
yii2.0之GridView自定义按钮和链接用法
2014/12/15 PHP
php操作xml入门之cdata区段
2015/01/23 PHP
alert中断settimeout计时功能
2013/07/26 Javascript
JavaScript图片放大技术(放大镜)实现代码分享
2013/11/14 Javascript
javascript创建和存储cookie示例
2014/01/07 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
javascript+canvas实现刮刮卡抽奖效果
2015/07/29 Javascript
分享五个有用的jquery小技巧
2015/10/08 Javascript
JavaScript设计模式初探
2016/01/07 Javascript
分享javascript实现的冒泡排序代码并优化
2016/06/05 Javascript
javascript数组去重方法分析
2016/12/15 Javascript
利用Jquery实现几款漂亮实用的时间轴(附示例代码)
2017/02/15 Javascript
jQuery实现的简单拖动层示例
2017/02/22 Javascript
小程序文字跑马灯效果
2018/12/28 Javascript
JavaScript实现跟随鼠标移动的盒子
2021/01/28 Javascript
[08:56]DOTA2-DPC中国联赛2月23日Recap集锦
2021/03/11 DOTA
linux下安装easy_install的方法
2013/02/10 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Python 实现12306登录功能实例代码
2018/02/09 Python
对Python中数组的几种使用方法总结
2018/06/28 Python
python三大神器之fabric使用教程
2019/06/10 Python
python读写csv文件并增加行列的实例代码
2019/08/01 Python
Python读取表格类型文件代码实例
2020/02/17 Python
Python3 shutil(高级文件操作模块)实例用法总结
2020/02/19 Python
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
详解h5页面在不同ios设备上的问题总结
2019/03/01 HTML / CSS
AT&T Wireless:手机、无限数据计划和配件
2018/06/03 全球购物
大学毕业自我鉴定范文
2014/02/03 职场文书
债务纠纷委托书
2014/08/30 职场文书
赢在中国观后感
2015/06/02 职场文书
Python使用UDP实现720p视频传输的操作
2021/04/24 Python
MYSQL中文乱码问题的解决方案
2022/06/14 MySQL