基于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的包管理器pip更换软件源的方法详解
Jun 20 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
使用coverage统计python web项目代码覆盖率的方法详解
Aug 05 Python
python数据类型之间怎么转换技巧分享
Aug 20 Python
在Mac中PyCharm配置python Anaconda环境过程图解
Mar 11 Python
keras 获取某层输出 获取复用层的多次输出实例
May 23 Python
用python实现名片管理系统
Jun 18 Python
Python 执行矩阵与线性代数运算
Aug 01 Python
Python OpenCV中的numpy与图像类型转换操作
Dec 11 Python
Python import模块的缓存问题解决方案
Jun 02 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
python 判断字符串当中是否包含字符(str.contain)
Jun 01 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
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
PHP过滤★等特殊符号的正则
2014/01/27 PHP
PHP实现负载均衡session共享redis缓存操作示例
2018/08/22 PHP
php session_decode函数用法讲解
2019/05/26 PHP
Jquery Validation插件防止重复提交表单的解决方法
2010/03/05 Javascript
jQuery实战之品牌展示列表效果
2011/04/10 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
javascript重复绑定事件造成的后果说明
2013/03/02 Javascript
node.js插件nodeclipse安装图文教程
2020/10/19 Javascript
js处理包含中文的字符串实例
2017/10/11 Javascript
node使用promise替代回调函数
2018/05/07 Javascript
Webstorm2016使用技巧(SVN插件使用)
2018/10/29 Javascript
微信小程序使用template标签实现五星评分功能
2018/11/03 Javascript
jQuery中DOM操作原则实例分析
2019/08/01 jQuery
JavaScript变量基本使用方法实例分析
2019/11/15 Javascript
jQuery三组基本动画与自定义动画操作实例总结
2020/05/09 jQuery
[56:17]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第三场 8.22
2019/09/05 DOTA
Python import自定义模块方法
2015/02/12 Python
Python实现的下载网页源码功能示例
2017/06/13 Python
python脚本替换指定行实现步骤
2017/07/11 Python
啥是佩奇?使用Python自动绘画小猪佩奇的代码实例
2019/02/20 Python
详解利用python+opencv识别图片中的圆形(霍夫变换)
2019/07/01 Python
Django中Middleware中的函数详解
2019/07/18 Python
seek引发的python文件读写的问题及解决
2019/07/26 Python
Canvas 文本填充线性渐变的使用详解
2020/06/22 HTML / CSS
解释一下ArrayList Vector和LinkedList的实现和区别
2013/04/26 面试题
求职自荐信怎么写
2014/03/06 职场文书
元旦寄语大全
2014/04/10 职场文书
法学自荐信
2014/06/20 职场文书
大学生学习面向未来的赶考思想汇报
2014/09/12 职场文书
电子商务实训报告总结
2014/11/05 职场文书
学校证明范文
2015/06/24 职场文书
2019企业给员工的慰问信
2019/06/24 职场文书
Nginx配置Https安全认证的实现
2021/05/26 Servers
聊聊mysql都有哪几种分区方式
2022/04/13 MySQL
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang