基于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读写unicode文件的方法
Jul 10 Python
利用Python实现命令行版的火车票查看器
Aug 05 Python
Python实现计算两个时间之间相差天数的方法
May 10 Python
浅析python的优势和不足之处
Nov 20 Python
python使用Plotly绘图工具绘制柱状图
Apr 01 Python
python GUI库图形界面开发之PyQt5工具栏控件QToolBar的详细使用方法与实例
Feb 28 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 Python
Django微信小程序后台开发教程的实现
Jun 03 Python
python ETL工具 pyetl
Jun 07 Python
python文件操作seek()偏移量,读取指正到指定位置操作
Jul 05 Python
flask开启多线程的具体方法
Aug 02 Python
python如何查找列表中元素的位置
May 30 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数据库配置文件一般做法分享
2012/07/07 PHP
详细解读php的命名空间(一)
2018/02/21 PHP
laravel实现于语言包的完美切换方法
2019/09/29 PHP
javascript学习笔记(十七) 检测浏览器插件代码
2012/06/20 Javascript
利用javascript实现全部删或清空所选的操作
2014/05/27 Javascript
jquery模拟进度条实现方法
2015/08/03 Javascript
asp知识整理笔记3(问答模式)
2015/09/27 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
2015/11/30 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
Node.js 回调函数实例详解
2017/07/06 Javascript
Vue项目中设置背景图片方法
2018/02/21 Javascript
VUE前后端学习tab写法实例
2019/08/06 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
react实现复选框全选和反选组件效果
2020/08/25 Javascript
请求时token过期自动刷新token操作
2020/09/11 Javascript
python中文乱码的解决方法
2013/11/04 Python
python通过urllib2获取带有中文参数url内容的方法
2015/03/13 Python
Python安装第三方库的3种方法
2015/06/21 Python
Python爬虫实例爬取网站搞笑段子
2017/11/08 Python
解决python使用open打开文件中文乱码的问题
2017/12/29 Python
python 检查文件mime类型的方法
2018/12/08 Python
Python对HTML转义字符进行反转义的实现方法
2019/04/28 Python
python 将日期戳(五位数时间)转换为标准时间
2019/07/11 Python
HTML5 实现一个访问本地文件的实例
2012/12/13 HTML / CSS
HTML5中的Web Notification桌面通知功能的实现方法
2019/07/29 HTML / CSS
Laura Mercier官网:彩妆大师罗拉玛斯亚的化妆品牌
2018/01/04 全球购物
Agoda中文官网:安可达(低价预订全球酒店)
2021/01/18 全球购物
酒店管理自荐信
2013/10/23 职场文书
《和田的维吾尔》教学反思
2014/04/14 职场文书
放飞梦想演讲稿
2014/05/05 职场文书
孝敬父母的活动方案
2014/08/28 职场文书
党员群众路线对照检查材料思想汇报
2014/09/17 职场文书
党员作风建设自查报告
2014/10/23 职场文书
工地食品安全责任书
2015/05/09 职场文书
运动会宣传稿50字
2015/07/23 职场文书
总结几个非常实用的Python库
2021/06/26 Python