python 制作手机归属地查询工具(附源码)

Hello,大家好,我来敷衍你们了 [捂脸],今天还是用Tkinter做一个GUI小工具,用于手机归属地查询。我将代码放在了博文中,程序打包好放在蓝奏云。

一.预览

1.启动

2.执行查询

二.源代码

1.GUI

from tkinter import *
from tkinter import ttk
from tkinter import messagebox
from Get_Attr import Get_Infos
import re
import threading

class App:
  def __init__(self):
    self.root=Tk()
    self.root.title('手机号码归属地查询-v1.0')
    self.root.resizable(0,0)
    width=410
    height=390
    left=(self.root.winfo_screenwidth()-width)/2
    top=(self.root.winfo_screenheight()-height)/2
    self.root.geometry('%dx%d+%d+%d'%(width,height,left,top))
    self.create_widet()
    self.set_widget()
    self.place_widget()
    self.root.mainloop()

  def create_widet(self):
    self.l1=ttk.Label(self.root)
    self.e1=ttk.Entry(self.root)
    self.b1=ttk.Button(self.root)
    self.lf=ttk.LabelFrame(self.root)
    self.l2=ttk.Label(self.lf)
    self.e2=ttk.Entry(self.lf)
    self.l3=ttk.Label(self.lf)
    self.e3=ttk.Entry(self.lf)
    self.l4=ttk.Label(self.lf)
    self.e4=ttk.Entry(self.lf)
    self.l5=ttk.Label(self.lf)
    self.e5=ttk.Entry(self.lf)
    self.l6=ttk.Label(self.lf)
    self.e6=ttk.Entry(self.lf)
    self.l7=ttk.Label(self.lf)
    self.e7=ttk.Entry(self.lf)
    self.b1.config(command=lambda:self.thread_it(self.search_infos))

  def set_widget(self):
    self.e2_var=StringVar()
    self.e3_var=StringVar()
    self.e4_var=StringVar()
    self.e5_var=StringVar()
    self.e6_var=StringVar()
    self.e7_var=StringVar()
    self.l1.config(text='请输入手机号:')
    self.b1.config(text='查询')
    self.lf.config(text='查询结果')
    self.l2.config(text='手机号码:')
    self.l3.config(text='所属省份:')
    self.l4.config(text='所属城市:')
    self.l5.config(text='区   号:')
    self.l6.config(text='邮   编:')
    self.l7.config(text='类   型:')
    #将字符串变量绑定Entry组件
    self.e2.config(textvariable=self.e2_var)
    self.e3.config(textvariable=self.e3_var)
    self.e4.config(textvariable=self.e4_var)
    self.e5.config(textvariable=self.e5_var)
    self.e6.config(textvariable=self.e6_var)
    self.e7.config(textvariable=self.e7_var)
    self.root.bind('<Escape>',self.escape)
    self.root.bind('<Return>',self.do_search)

  def place_widget(self):
    self.l1.place(x=30,y=20)
    self.e1.place(x=130,y=20)
    self.b1.place(x=290,y=20)
    self.lf.place(x=30,y=60,width=350,height=300)
    self.l2.place(x=60,y=10)
    self.e2.place(x=150,y=10)
    self.l3.place(x=60,y=50)
    self.e3.place(x=150,y=50)
    self.l4.place(x=60,y=90)
    self.e4.place(x=150,y=90)
    self.l5.place(x=60,y=130)
    self.e5.place(x=150,y=130)
    self.l6.place(x=60,y=170)
    self.e6.place(x=150,y=170)
    self.l7.place(x=60,y=210)
    self.e7.place(x=150,y=210)

  def search_infos(self):
    pn=self.e1.get()
    #判断输入类型,必须为11位数字
    if re.match('\d{11}',pn):
      result=Get_Infos().get_infos(pn)
      self.e2_var.set(pn)
      self.e3_var.set(result['province'])
      self.e4_var.set(result['city'])
      self.e5_var.set(result['areacode'])
      self.e6_var.set(result['zip'])
      self.e7_var.set(result['company'])
    else:
      messagebox.showwarning('警告','输入有误,请检查!')

  #使用线程防止UI界面卡死
  def thread_it(self,func,*args):
    t=threading.Thread(target=func,args=args)
    t.setDaemon(True)
    t.start()

  def escape(self,event):
    self.root.destroy()

  def do_search(self,event):
    self.thread_it(self.search_infos())

if __name__ == '__main__':
  a=App()

2.Get_Attr

import json
import requests
from urllib.parse import urlencode

class Get_Infos():
  def __init__(self):
    self.url='http://apis.juhe.cn/mobile/get?'
    self.headers={
      'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36'
    }
  def get_infos(self,phone_num):
    params={
      'phone':phone_num,
      'key':'7a2b367a62fa24108b1f27ed4c84c97a',
      'dtype':''
    }
    r=requests.get(self.url+urlencode(params),headers=self.headers)
    _json=json.loads(r.text)
    if _json.get('resultcode')=='200':
      result=_json.get('result')
      item={}
      item['province']=result.get('province')
      item['city']=result.get('city')
      item['areacode']=result.get('areacode')
      item['zip']=result.get('zip')
      item['company']=result.get('company')
      return item
    else:
      return False

三.总结

本次使用Tkinter制作了一款手机归属地查询小工具,简单调用了一个接口,基本上没有什么难度,就是为了水一篇博客[狗头],程序打包好了放在了这里思路、代码方面有什么不足欢迎各位大佬指正、批评!

以上就是python 制作手机归属地查询工具(附源码)的详细内容,更多关于python 手机归属地查询的资料请关注我们其它相关文章!

(0)

相关推荐

  • Python使用淘宝API查询IP归属地功能分享

    网上有很多方法能够过去到IP地址归属地的脚本,但是我发现淘宝IP地址库的信息更详细些,所以用shell写个脚本来处理日常工作中一些IP地址分析工作. 脚本首先是从http://ip.taobao.com/的数据接口获取IP地址的JSON格式的数据信息,在使用一个python脚本来把Unicode字符转换成UTF-8编码. Shell脚本内容: 复制代码 代码如下: #!/bin/bash ipInfo() {   for i in `cat list`   do     TransCoding=

  • Python实现的手机号归属地相关信息查询功能示例

    本文实例讲述了Python实现的手机号归属地相关信息查询功能.分享给大家供大家参考,具体如下: 根据指定的手机号码,查询其归属地等相关信息,Python实现: 手机号文件:test.txt 13693252552 13296629989 13640810839 15755106631 15119622732 13904446048 18874791953 13695658500 13695658547 15950179080 15573462779 15217624651 15018485989

  • python实现获取Ip归属地等信息

    如果你有一批IP地址想要获得这些IP具体的信息,比如归属国家,城市等,最好的办法当时是调用现有的api接口来获取,我在之前就写过一篇文章,是关于我的博客被莫名攻击的时,就有获取过一批IP,攻击的时候当时是恢复业务重要,IP该封的就要封,攻击过后这个攻击者的IP信息,自己就可以分析下都来自哪里,有没有什么特征,帮助提示自己网站的安全性,今天这个脚本就是根据提供的IP获得IP归属的具体信息,脚本如下: #!/usr/bin/env python import requests import csv

  • python手机号前7位归属地爬虫代码实例

    需求分析 项目上需要用到手机号前7位,判断号码是否合法,还有归属地查询.旧的数据是几年前了太久了,打算用python爬虫重新爬一份 单线程版本 # coding:utf-8 import requests from datetime import datetime class PhoneInfoSpider: def __init__(self, phoneSections): self.phoneSections = phoneSections def phoneInfoHandler(sel

  • Python抓取手机号归属地信息示例代码

    前言 本文给大家介绍的是利用Python抓取手机归属地信息,文中给出了详细的示例代码,相信对大家的理解和学习很有帮助,以下为Python代码,较为简单,供参考. 示例代码 # -*- coding:utf-8 -*- import requests,re o = open('data.txt','a') e = open('error.txt','a') baseUrl = 'http://www.iluohe.com/' r = requests.get('http://www.iluohe.

  • Python手机号码归属地查询代码

    简单的一个例子,是以前用Dephi写的,前不久刚实现了一个在Python中使用Delphi控件来编写界面程序,于是趁热写一个类似的的查询方案. 本实例是通过www.ip138.com这个网站来查询的,这里需要的几个知识点,就是用Python模拟网页提交数据,获得数据返回信息,以及对返回的Html信息进行解析,模拟Http提交,Python自带有一个urllib和urllib2这两个库,相当方便,只是奇怪,为什么不将两个库合并成一个,这样来的更方便.然后就是窗体了,窗体还是用我之前写的一个Pyth

  • python 实现全球IP归属地查询工具

    # 写在前面,这篇文章的原创作者是Charles我只是在他这个程序的基础上边进行加工,另外有一些自己的改造 # 并都附上了注释和我自己的理解,这也是我一个学习的过程. # 附上大佬的GitHub地址:https://github.com/CharlesPikachu/Tools ''' Function: 根据IP地址查其对应的地理信息 Author: Charles 微信公众号: Charles的皮卡丘 ''' import IPy import time import random impo

  • Python批量获取并保存手机号归属地和运营商的示例

    从Excel读取一组手机号码,批量查询该手机号码的运营商和归属地,并将其追加到该记录的末尾. import requests import json import xlrd from xlutils.copy import copy host = 'https://cx.shouji.360.cn/phonearea.php' # excel文件路径 file_path = "F:\\temp.xlsx" # 新文件路径 new_file_path = "F:\\temp(含

  • python 制作手机归属地查询工具(附源码)

    Hello,大家好,我来敷衍你们了 [捂脸],今天还是用Tkinter做一个GUI小工具,用于手机归属地查询.我将代码放在了博文中,程序打包好放在蓝奏云. 一.预览 1.启动 2.执行查询 二.源代码 1.GUI from tkinter import * from tkinter import ttk from tkinter import messagebox from Get_Attr import Get_Infos import re import threading class Ap

  • python 制作网站筛选工具(附源码)

    一.思路 1.整体思路 2.代码思路 思路很简单,就是用python发送请求,提取响应体中的状态码加以判断,最后保存到本地txt文本中,以实现网站信息的筛选. 二.撰写代码 import time import requests import urllib3 from concurrent.futures import ThreadPoolExecutor #取源文件中的网址并且去重 def get_url(old_file): with open(old_file,'r',encoding='

  • python gui开发——制作抖音无水印视频下载工具(附源码)

    hello,大家好啊,失踪人口回归了 [捂脸]!本次使用tkinter撰写一篇 抖音无水印视频下载,目的很纯粹,就是为了设置 微信状态视频.本篇博文中,我会写下我的代码撰写思路以及想写设计流程,代码放在了第四节,工具打包好放在了 蓝奏云,慢慢看,后面有链接. 一.准备工作 本次要用到以下依赖库:re json os random tkinter threading requests pillow 其中后两个需要安装后使用 二.预览 0.复制抖音分享短链接 1.启动 2.运行 3.结果 (小姐姐挺

  • python基于tkinter制作无损音乐下载工具(附源码)

    继续写GUI,本次依然使用Tkinter设计一款图形界面,使用Tkinter做一款音乐下载软件,听起来听平常的,但是我这款软件能够下载 无损音乐下载软件,听起来不错吧,Let`s go! 一.准备工作 python Tkinter 二.预览 1.搜索 2.下载 3.结果 无损音乐就这样下载完了. 三.详细设计 这里仅展示我设计的整体思路. 四.源代码 4.1 Music_Search-v1.0.py from tkinter import * from tkinter import ttk fr

  • python实现web邮箱扫描的示例(附源码)

    信息收集是进行渗透测试的关键部分,掌握大量的信息对于攻击者来说是一件非常重要的事情,比如,我们知道一个服务器的版本信息,我们就可以利用该服务器框架的相关漏洞对该服务器进行测试.那么如果我们掌握了该服务器的管理员的邮箱地址,我们就可以展开一个钓鱼攻击.所以,对web站点进行邮箱扫描,是进行钓鱼攻击的一种前提条件. 下面,我们利用python脚本来实现一个web站点的邮箱扫描爬取.目的是在实现这个脚本的过程中对python进行学习 最后有完整代码 基本思路 我们向工具传入目标站点之后,首先要对输入进

  • 史上最好用的远程桌面工具(附源码)

    大家都是用的哪一款远程控制工具呢? 向日葵确实还可以,支持多平台.跨网络,但是必须要注册 Oray账号才行.虽然与免费版,但是用过的都知道,还是得付费才管用! Teamviewer 现在也不咋滴了,感觉还不如向日好使. 还有一个大家肯定都知道,那就是 QQ远程桌面,想起鬼哥我以前就经常用这个功能帮妹子电脑激活软件啥的,那时的我还是个懵懂不经人事的少年(工具人)-- 就在上个礼拜,向日葵又提醒我快要过期了.叫我续费. 当时我就想着要不在GitHub上面找找吧,说不定有大佬开源的远程控制工具呢,要是

  • 使用Python实现简单的人脸识别功能(附源码)

    目录 前言 一.首先 二.接下来 1.对照人脸获取 2. 通过算法建立对照模型 3.识别 前言 今天,我们用Python实现简单的人脸识别技术! Python里,简单的人脸识别有很多种方法可以实现,依赖于python胶水语言的特性,我们通过调用包可以快速准确的达成这一目的.这里介绍的是准确性比较高的一种. 一.首先 梳理一下实现人脸识别需要进行的步骤: 流程大致如此,在此之前,要先让人脸被准确的找出来,也就是能准确区分人脸的分类器,在这里我们可以用已经训练好的分类器,网上种类较全,分类准确度也比

  • 100行Python代码实现自动抢火车票(附源码)

    前言 又要过年了,今年你不妨自己写一段代码来抢回家的火车票,是不是很Cool.下面话不多说了,来一起看看详细的介绍吧. 先准备好: 12306网站用户名和密码 chrome浏览器及下载chromedriver 下载Python代码,来自网络整理 [点击下载 |  本地下载 ] 代码用的Python+Splinter开发,Splinter是一个使用Python开发的开源Web应用测试工具,它可以帮你实现自动浏览站点和与其进行交互. Splinter官网:http://splinter.readth

  • Jquery效果大全之制作电脑健康体检得分特效附源码下载

    jquery制作电脑健康体检得分效果图如下所示,喜欢的朋友可以下载源码哦. 查看效果图       源码下载 文件引用: <script type="text/javascript" src="js/jquery-...min.js"></script> <script type="text/javascript"> var current = ; $(document).ready(function(){ $

  • python 读写excel文件操作示例【附源码下载】

    本文实例讲述了python 读写excel文件操作.分享给大家供大家参考,具体如下: 对excel文件的操作,python有第三方的工具包支持,xlutils,在这个工具包中包含了xlrd,xlwt等工具包.利用这些工具,可以方便的对excel 进行操作. 1. 下载 xlutils : http://pypi.python.org/pypi/xlutils 2. 安装,解压下载文件之后,可以 python setup.py install 3. 应用(生成EXCEL,遍历EXCEL,修改EXC

随机推荐