python ip查询

今天用python爬虫及 tkinter 写一个查询ip信息的可视化工具

1.Python GUI编程(Tkinter)

Python 提供了多个图形开发界面的库,包括Tkinter,wxPython。Jython,其他两个不说,今天用到的是Tkinter。

Tkinter 是 Python 的标准 GUI 库。Python 使用 Tkinter 可以快速的创建 GUI 应用程序。

创建一个GUI程序也很简单,只需要四布

1、导入 Tkinter 模块
2、创建控件
3、指定这个控件的 master, 即这个控件属于哪一个
4、告诉 GM(geometry manager) 有一个控件产生了。

写一段测试代码如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-import Tkinter
top = Tkinter.Tk()
# 进入消息循环
top.mainloop()

运行即可弹出GUI界面

2,进入正式程序

原理是通过网站ipipnet (https://www.ipip.net)可以查询ip信息,再通过爬虫爬取需要的信息,显示在GUI中

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time    : 2018/12/20 20:44
# @Author  : Fang
# @E-mail  : fangrongxuan@163.com
# @Site    :
# @File    : thinter_study.py
# @Software: PyCharmfrom tkinter import *
import requests,re# 对付“反盗链”
# from fake_useragent import UserAgent
# import random
# ua = UserAgent()
# headers = {'User-Agent':ua.random}
# print(headers)def get_content():#获得 输入框中的信息ip=ip_input.get()#模拟浏览器请求网络# headers={'User-Agent' : 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0'}headers={'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36'}#请求网络response = requests.get("https://www.ipip.net/ip/{}.html".format(ip),headers=headers)# print(response.text)# print(response.content)address = re.search(r'地理位置.*?;">(.*?)</span>',response.text,re.S)operator = re.search(r'运营商.*?;">(.*?)</span>', response.text, re.S)time_zone = re.search(r'时区.*?;">(.*?)</span>', response.text, re.S)wrap = re.search(r'地区.*?;">(.*?)</span>', response.text, re.S)if address:ip_info=['地理位置:'+address.group(1),'当前的ip:'+ip]if operator:ip_info.insert(0,'拥有者/运营商:'+operator.group(1))if time_zone:ip_info.insert(0, '时区:' + time_zone.group(1))if wrap:ip_info.insert(0, '地区中心经纬度:' + wrap.group(1))display_info.delete(0,5)for item in ip_info:display_info.insert(0,item)else:display_info.delete(0,5)display_info.insert(0,"无效ip")#创建一个窗口
root=Tk()
#标题
root.title("Fang的ip定位查询工具")
#设置输入框 规定尺寸
ip_input=Entry(root,width=40)
#创建一个回显列表
display_info=Listbox(root,width=60,height=10)
#创建查询按钮
result_button=Button(root,command=get_content,text="查询")def main():#显示界面ip_input.pack()display_info.pack()result_button.pack()#运行root.mainloop()#程序入口
if __name__ == '__main__':main()

关于对付反盗链headers如何获取,请移步我的另一篇博客,传送门:Python爬虫之headers和data的获取

接下来运行一下

输入ip进行查询

根据经纬度可以查询到黑你电脑的人的定位哦(前提是对方用的是自己的真实ip,但是不会有人这么傻的)

python 查询ip工具相关推荐

  1. python查询ip归属地_基于Python的免费IP地址归属地查询

    一.开通接口 IP地址归属地查询服务使用聚合数据提供的免费接口,每天可以100次免费调用.可以通过 https://www.juhe.cn/docs/api/id/1 注册及开通. 二.请求接口 #! ...

  2. python怎么查找代码位置查询_Python查询IP地址归属完整代码

    本文实例为大家分享了Python查询IP地址归属的具体代码,供大家参考,具体内容如下 #!/usr/bin/env python # -*- coding: utf-8 -*- #查找IP地址归属地 ...

  3. 【自制小工具】快速批量查询IP归属地(自动去重、按国内外汇总,并智能识别出错误IP)

    作者:Eason_LYC 不放弃,不为别的,只想活成自己心中的样子~ 领域:WEB安全.网络攻防 关注WEB安全.网络攻防.我的专栏文章知识点全面细致,逻辑清晰.结合实战,让你在学习路上事半功倍,少走 ...

  4. python实现火车票查询工具_Python 实现一个火车票查询的工具

    原标题:Python 实现一个火车票查询的工具 作者 sexycoder 本文转载自简书,转载需授权 使用 python 实现一个查询火车票的小工具 主要功能: 输入出发车站,到达车站,时间,然后返回 ...

  5. 工具及方法 - 查询IP信息

    IP信息查询网站: Comprehensive IP address data, IP geolocation API and database - IPinfo.io 这个网站提供最稳定.准确和深入 ...

  6. 【爬虫】用Python爬取去哪儿网热门旅游信息(并打包成旅游信息查询小工具)

    以下内容为本人原创,欢迎大家观看学习,禁止用于商业用途,谢谢合作! ·作者:@Yhen ·原文网站:CSDN ·原文链接:https://blog.csdn.net/Yhen1/article/det ...

  7. python刷火车票脚本_使用python脚本实现查询火车票工具

    使用python脚本实现查询火车票信息的效果图如下: 实现的代码: # coding: utf-8 """命令行火车票查看器 Usage: tickets [-gdtkz ...

  8. python识别火车票二维码_使用python脚本实现查询火车票工具

    使用python脚本实现查询火车票信息的效果图如下: 实现的代码: # coding: utf-8 """命令行火车票查看器 Usage: tickets [-gdtkz ...

  9. python火车票查询工具tkinter_Python 实现一个火车票查询的工具

    原标题:Python 实现一个火车票查询的工具 主要功能: 输入出发车站,到达车站,时间,然后返回所有的车次信息,和余票信息 支持输入附加选项查询不同的火车的类型,比如高铁,动车. #查询上海到北京2 ...

  10. python四级成绩_四六级准考证号模糊查询工具下载-英语四六级准考证号模糊查询小工具下载Python版-西西软件下载...

    想查自己的四六级成绩缺忘了准考证号码?试试英语四六级准考证号模糊查询小工具呗!这是一款由Python爬虫语音编写成的小软件,只需要输入身份号或者准考证前十位数,它可以帮你快速的查询出你的四六级成绩和准 ...

最新文章

  1. 全球13个DNS根+主要省份城市的DNS服务器地址
  2. 智能车竞赛技术报告 | 智能车视觉 - 太原工业学院 - 晋速-轩辕星
  3. C#中的::运算符的作用
  4. 转 Celery 使用
  5. 安装apache重启的时候,报错端口被占用,错误1
  6. 开关电源仿真与设计基于spice 第2版 中译本_亚成微招聘模拟IC设计师、FAE工程师、系统测试工程师...
  7. lamp搭建wordpress后升级安装主题,提示输入ftp账号密码
  8. Ubuntu安装kaldi
  9. K33 不是平面图_怎么用 PS 做景观平面图?
  10. 【NLP】4 gensim word2vec库入门——官方手册embeddings和KeyedVectors
  11. 云和恩墨 | 安全稳健 - 全面保障某城商行核心系统大版本顺利升级
  12. 形式化方法-- petri net
  13. [英语竞赛] 知识整理
  14. GIS基本功 | 14 地图投影及其相关概念
  15. Jsp中的forward 和 redirect
  16. python语音唤醒功能_python语音唤醒-pocketsphinx
  17. java飞机大战设计收获_飞机大战编写以及Java的面向对象总结
  18. 使用 acme.sh 签发 SSL证书失败
  19. C语言求1000以内水仙花数
  20. 海信电视可以刷鸿蒙系统吗,海信电视通用刷机教程

热门文章

  1. 2811路由器系统导入到服务器,配置CISCO2811路由器的E1连接
  2. android看本地视频播放器下载,Android平台上5款最好的本地视频播放软件
  3. htcd816+android密码,HTC816怎么解锁?HTC Desire 816刷机解锁教程图解
  4. 各种注册序列号 用户名
  5. 基于QT的音视频采集推流实时传输播放数据发布系统 文档+项目源码+答辩PPT
  6. 管壁式换热器cad图纸_各种换热器结构原理动态图,让你大开眼界!
  7. De4Dot+Reflector 支持多种反混淆
  8. 应急响应.windows
  9. 【2014.01】普林斯顿数学指南(第一卷) [英]Timothy Gowers编 齐民友译
  10. mathematic语法基础