基于python实现查询ip地址来源
作者:chuyaoxin 发布时间:2021-02-10 14:45:52
标签:python,查询,ip,地址
从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.py ip地址
来源:https://www.cnblogs.com/cyx-b/p/12984010.html


猜你喜欢
- 一. Python中表示时间的两种方式:时间戳:相对于1970.1.1 00:00:00以秒计算的偏移量,唯一的时间元组struct_tim
- 最近在学习python著名的绘图包matplotlib时发现,有时候图例等设置无法正常显示中文,于是就想把这个问题解决了。PS:本文仅针对W
- Python字符串和字典相关操作的实例详解字符串操作:字符串的 % 格式化操作:str = "Hello,%s.%s enough
- 在SQL Server 2008里安装审计,步骤如下:1. 给每个SQL Server 2008具体实例创建一个SQL Server审计2.
- 前言numpy.linalg模块包含线性代数的函数。使用这个模块,可以计算逆矩阵、求特征值、解线性方程组以及求解行列式等。本文讲给大家介绍关
- 本文实例讲述了MSSQL分页存储过程。分享给大家供大家参考,具体如下:USE [DB_Common]GO/****** 对象: Stored
- 在ASP编程中,身份认证可以说是常要用到的。但怎么样才能做到认证的安全呢?表单提交页面:sub.htm  
- 接上章《pygame实现俄罗斯方块游戏(基础篇1)》继续写俄罗斯方块游戏五、计算方块之间的碰撞在Panel类里增加函数def check_o
- pytorch forwod函数在父类中的调用问题背景最近在研究Detetron2的代码结构时,发现有些网络代码里面没有forward函数,
- 在我们生活中的一些场合经常会有一些不该出现的敏感词,我们通常会使用*去屏蔽它,例如:尼玛 -> **,一些骂人的敏感词和一些政治敏感词
- 本文讲述了Python基本语法。分享给大家供大家参考,具体如下:概述:这里主要讲述以下内容:① 缩进② 流程控制语句③ 表达式④ 函数⑤ 对
- 本来是想从网上找找有没有现成的爬取空气质量状况和天气情况的爬虫程序,结果找了一会儿感觉还是自己写一个吧。主要是爬取北京包括北京周边省会城市的
- 前言CSV(Comma-Separated Values)即逗号分隔值,一种以逗号分隔按行存储的文本文件,所有的值都表现为字符串类型(注意:
- 门限回归模型(Threshold Regressive Model,简称TR模型或TRM)的基本思想是通过门限变量的控制作用,当给出预报因子
- 一、Pyecharts 概述Pyechart 是一个用于生成 Echarts 图表(Echarts 是基于 Javascript 的开源可视
- Psyco 是严格地在 Python 运行时进行操作的。也就是说,Python 源代码是通过 python 命令编译成字节码的,所用的方式和
- Serilog是.net下的新兴的日志框架,本文这里简单的介绍一下它的用法。首先安装Nuget包:Install-Package Seril
- 现状≠将来?程序员做设计本身就很悲哀,纠结于客户与坚持之间就更是如此。无论我今后的路会怎么走,我想始终不变的事情就是与客户博弈了。无论是放弃
- np.newaxisnp.newaxis 的功能是增加新的维度,但是要注意 np.newaxis 放的位置不同,产生的矩阵形状也不同。通常按
- 树树(Tree)是n(n≥0)个节点的有限集。在任意一棵树中:(1)有且仅有一个特定的称为根(Root)的节点;(2)当n>1