基于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 fabric实现远程操作和部署示例
Mar 25 Python
Python中使用Tkinter模块创建GUI程序实例
Jan 14 Python
python实现登陆知乎获得个人收藏并保存为word文件
Mar 16 Python
Python编程中用close()方法关闭文件的教程
May 24 Python
django开发教程之利用缓存文件进行页面缓存的方法
Nov 10 Python
python3.6使用urllib完成下载的实例
Dec 19 Python
Python面向对象类编写细节分析【类,方法,继承,超类,接口等】
Jan 05 Python
python3+PyQt5 实现Rich文本的行编辑方法
Jun 17 Python
pandas 层次化索引的实现方法
Jul 06 Python
python两个_多个字典合并相加的实例代码
Dec 26 Python
python实现多进程按序号批量修改文件名的方法示例
Dec 30 Python
Python使用grequests并发发送请求的示例
Nov 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
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
typecho插件编写教程(六):调用接口
2015/05/28 PHP
PHP中创建和验证哈希的简单方法实探
2015/07/06 PHP
CI框架整合smarty步骤详解
2016/05/19 PHP
Yii2分页的使用及其扩展方法详解
2016/05/23 PHP
php数组函数array_walk用法示例
2016/05/26 PHP
Laravel使用支付宝进行支付的示例代码
2017/08/16 PHP
jQuery+ajax实现顶一下,踩一下效果
2010/07/17 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
jQuery中offsetParent()方法用法实例
2015/01/19 Javascript
简介JavaScript中的unshift()方法的使用
2015/06/09 Javascript
jquery实现美观的导航菜单鼠标提示特效代码
2015/09/06 Javascript
Restify中接入Socket.io报Error:Can’t set headers的错误解决
2017/03/28 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
微信小程序实现图片上传、删除和预览功能的方法
2017/12/18 Javascript
angular2 组件之间通过service互相传递的实例
2018/09/30 Javascript
Vue使用vue-draggable 插件在不同列表之间拖拽功能
2020/03/12 Javascript
基于JavaScript实现简单抽奖功能代码实例
2020/10/20 Javascript
python实现装饰器、描述符
2018/02/28 Python
python Celery定时任务的示例
2018/03/13 Python
python读取视频流提取视频帧的两种方法
2020/10/22 Python
python之super的使用小结
2018/08/13 Python
用scikit-learn和pandas学习线性回归的方法
2019/06/21 Python
Django项目使用CircleCI的方法示例
2019/07/14 Python
python NumPy ndarray二维数组 按照行列求平均实例
2019/11/26 Python
python+selenium+Chrome options参数的使用
2020/03/18 Python
对python中arange()和linspace()的区别说明
2020/05/03 Python
html5使用html2canvas实现浏览器截图的示例
2017/08/31 HTML / CSS
Bealls Florida百货商店:生活服饰、家居装饰和鞋子
2018/02/23 全球购物
LN-CC美国:伦敦时尚生活的缩影
2019/02/19 全球购物
施惠特软件测试面试题以及笔试题
2015/05/13 面试题
木工主管岗位职责
2013/12/08 职场文书
《理想》教学反思
2014/02/17 职场文书
《蒙娜丽莎之约》教学反思
2014/02/27 职场文书
制定企业培训计划的五大要点!
2019/07/10 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python