美文网首页
01.Python-GUI编程小试—在线查询ip归属地

01.Python-GUI编程小试—在线查询ip归属地

作者: 木讷DATA | 来源:发表于2021-10-17 20:16 被阅读0次

引言

19年那会,朋友想做个桌面级应用,就简单学习了下Python-GUI编程,学习之初简单做了个小应用,主要使用python-tkinter + 高德api,在线查询ip归属地

  1. 前提准备
    安装tkinter我就直接跳过了自行<pip install tkinter>; 由于使用高德api,需要去高德开放平台去注册key,传送门 高德开放平台
  2. Start Code
    废话不多说,直接上代码,如下代码申请key之后可以直接运行
import tkinter, requests


class FindLocation(object):
    def __init__(self):
        # 创建主窗口,用于容纳其它组件
        self.root = tkinter.Tk()
        # 给主窗口设置标题内容
        self.root.title("国内定位ip位置(在线版)")
        # 创建一个输入框,并设置尺寸
        self.ip_input = tkinter.Entry(self.root, width=30)

        # 创建一个回显列表
        self.display_info = tkinter.Listbox(self.root, width=50)

        # 创建一个查询结果的按钮
        self.result_button = tkinter.Button(self.root, command=self.find_position, text="查询")

    # 完成布局
    def gui_arrang(self):
        self.ip_input.pack()
        self.display_info.pack()
        self.result_button.pack()

    # 根据ip查找地理位置
    def find_position(self):
        # 获取输入信息
        self.ip_addr = self.ip_input.get()
        params = {
            'ip': self.ip_addr,
        }
        url = "https://restapi.amap.com/v3/ip?key=xxxxxxxxxx"
        aim = requests.get(url, params=params).json()
        # aim = self.gi.record_by_name(self.ip_addr)
        # 为了避免非法值,导致程序崩溃,有兴趣可以用正则写一下具体的规则,我为了便于新手理解,减少代码量,就直接粗放的过滤了
        try:

            # 获取目标城市
            city = aim["city"]
            # 获取目标国家
            country = aim["province"]
            # 获取目标地区
            region_code = aim["adcode"]
            # 获取目标经度
            lagitude = aim["rectangle"]
        except:
            pass

        # 创建临时列表
        the_ip_info = [
            "所在经纬度:" + str(lagitude),
            "地域代号:" + str(region_code),
            "所在城市:" + str(city),
            "所在国家或地区:" + str(country),
            "需要查询的ip:" + str(self.ip_addr)
        ]
        # 清空回显列表可见部分,类似clear命令
        for item in range(10):
            self.display_info.insert(0, "")

        # 为回显列表赋值
        for item in the_ip_info:
            self.display_info.insert(0, item)
        # 这里的返回值,没啥用,就是为了好看
        return the_ip_info


def main():
    # 初始化对象
    FL = FindLocation()
    # 进行布局
    FL.gui_arrang()
    # 主程序执行
    tkinter.mainloop()
    pass


if __name__ == "__main__":
    main()

  1. 运行结果如下:


    GUI小应用演示

相关文章

  • 01.Python-GUI编程小试—在线查询ip归属地

    引言 19年那会,朋友想做个桌面级应用,就简单学习了下Python-GUI编程,学习之初简单做了个小应用,主要使用...

  • IP归属地查询

    这是一篇GitHub上的项目说明文档,项目地址:Zzz2333/IPLibrary 本项目功能是根据IP查询归属地...

  • IP归属地查询接口

    一、IP-API接口 http://ip-api.com/json/[http://ip-api.com/json...

  • 记录一些网址,开发过程使用

    在线歌曲 在线视频 ip地址查询接口

  • Python网络爬虫与信息提取入门<5>

    Part19 实例5:IP地址归属地的自动查询 怎么查询一个IP地址的归属呢?比如说某一个IP地址他是来自于北京、...

  • 抖音微博知乎ip属地地址怎么改

    最近不是抖音出了一个IP属地,有些朋友不想显示出来,只好把手机IP属地改成别的城市,保护自己真正的IP属地。 IP...

  • 手机归属地查询 API 接口

    手机归属地查询 API 接口 精确查询手机号码的归属地。 1. 产品功能 提供精确、高效的手机归属地查询,支持用户...

  • IP属地

    无意中发现,却也是在看到第一篇就发现的。 手机上也可以看到啦。我的是对哒。 我来看看你们都在哪儿,哈哈。 想问一下...

  • IP属地

    我的IP属地天天旅游,第一次见的时候是在四川,四川也蛮好嘛,离我师父和师弟那边都挺近的。 第二次见的时候在陕西,说...

  • 2019-05-10

    ip地址的归属地获取

网友评论

      本文标题:01.Python-GUI编程小试—在线查询ip归属地

      本文链接:https://www.haomeiwen.com/subject/acbwoltx.html