基于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中随机函数random用法实例
Apr 30 Python
python中self原理实例分析
Apr 30 Python
python访问抓取网页常用命令总结
Apr 11 Python
浅析python中numpy包中的argsort函数的使用
Aug 30 Python
对dataframe数据之间求补集的实例详解
Jan 30 Python
Python中dict和set的用法讲解
Mar 28 Python
Python增强赋值和共享引用注意事项小结
May 28 Python
实现Python与STM32通信方式
Dec 18 Python
Python3.6 中的pyinstaller安装和使用教程
Mar 16 Python
Python运行提示缺少模块问题解决方案
Apr 02 Python
Kmeans均值聚类算法原理以及Python如何实现
Sep 26 Python
Python打包为exe详细教程
May 18 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
php中处理模拟rewrite 效果
2006/12/09 PHP
PHP isset()与empty()的使用区别详解
2010/08/29 PHP
PHP中register_globals参数为OFF和ON的区别(register_globals 使用详解)
2012/02/05 PHP
PHP如何利用P3P实现跨域
2013/08/24 PHP
php从数据库中读取特定的行(实例)
2017/06/02 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
php下的原生ajax请求用法实例分析
2020/02/28 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
javascript 关于# 和 void的区别分析
2009/10/26 Javascript
取选中的radio的值
2010/01/11 Javascript
jQuery入门问答 整理的几个常见的初学者问题
2010/02/22 Javascript
jQuery插件原来如此简单 jQuery插件的机制及实战
2012/02/07 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
JS对象与json字符串格式转换实例
2014/10/28 Javascript
jQuery中append()方法用法实例
2015/01/08 Javascript
AngularJS入门教程之静态模板详解
2016/08/18 Javascript
使用use注册Vue全局组件和全局指令的方法
2018/03/08 Javascript
在HTML文档中嵌入JavaScript的四种方法
2018/05/07 Javascript
使用pm2部署node生产环境的方法步骤
2019/03/09 Javascript
JavaScript简易计算器制作
2020/01/17 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
[03:39]2015国际邀请赛主赛事首日精彩回顾
2015/08/05 DOTA
[47:46]完美世界DOTA2联赛 Magma vs GXR 第三场 11.07
2020/11/10 DOTA
[59:53]DOTA2-DPC中国联赛 正赛 VG vs Elephant BO3 第二场 3月6日
2021/03/11 DOTA
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
python3中函数参数的四种简单用法
2018/07/09 Python
Linux下安装python3.6和第三方库的教程详解
2018/11/09 Python
用django-allauth实现第三方登录的示例代码
2019/06/24 Python
python中的TCP(传输控制协议)用法实例分析
2019/11/15 Python
python字典setdefault方法和get方法使用实例
2019/12/25 Python
公认8个效率最高的爬虫框架
2020/07/28 Python
西安交大自主招生自荐信
2014/01/27 职场文书
企业申诉管理制度
2014/01/30 职场文书
市场总经理岗位职责
2014/04/11 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
外出培训学习心得体会
2016/01/18 职场文书