python 手机号码归属地 软件,Python查询手机号码归属地几种方法
一、使用Python的BeautifulSoup访问[http://www.ip138.com]查询
本方法大致的思路如下:
a)获取页面信息
b)解析返回的页面信息
c)保存查询到的信息到Excel文件
1.新建项目:
2.新建一个Python package phoneSectionInfo
3.新建Python文件 PhoneSectionInfo.py
4.访问页面函数:
# 1.访问页面函数
def getHTMLText(url):
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except Exception as err:
print(err)
5.解析页面信息函数:
# 2.解析页面返回的信息
def parsePhoneData(html):
soup = BeautifulSoup(html, "html.parser")
table = soup.find('table',attrs={'style':'border-collapse: collapse'})
phoneInfoList = [] # 用于存放电话信息
for td in table.find_all('td',attrs={'class':'tdc2'}):
rst = td.getText()\
.replace('\xa0','&&')\
.replace(' 测吉凶(新)','')\
.replace(' 更详细的..','')
if '移动' in rst:
rst = '中国移动'
elif '联通' in rst:
rst = '中国联通'
elif '电信' in rst:
rst = '中国电信'
phoneInfoList.append(rst)
return phoneInfoList
6.保存数据到Excel中:
# 3.保存数据到Excel中
def saveData(datalist,path):
#标题栏背景色
styleBlueBkg = xlwt.easyxf('pattern: pattern solid, fore_colour pale_blue; font: bold on;'); # 80% like
#创建一个工作簿
book=xlwt.Workbook(encoding='utf-8',style_compression=0)
#创建一张表
sheet=book.add_sheet('手机归属地查询',cell_overwrite_ok=True)
#标题栏
titleList=('手机号码段','卡号归属地','卡 类 型','区 号','邮 编')
#设置第一列尺寸
first_col = sheet.col(0)
first_col.width=256*30
#写入标题栏
for i in range(0,5):
sheet.write(0,i,titleList[i], styleBlueBkg)
#写入Phone信息
for i in range(0,len(datalist)):
data=datalist[i]
for j in range(0,len(data)):
sheet.write(i+1,j,data[j])
#保存文件到指定路径
book.save(path)
7.测试:
if __name__ == "__main__":
results = [] # 手机号码段信息列表
for line in open("d:/phone_section.txt", "r"):
phoneNum = line.strip(" \t\r\n")
url = "http://www.ip138.com:8080/search.asp?mobile="+phoneNum+"&action=mobile"
html = getHTMLText(url)
result = parsePhoneData(html)
results.append(result)
print(results)
saveDataToExcel(results,'d:/phone_section_result.xls')
8.代码汇总:
import requests
from bs4 import BeautifulSoup
import xlwt
# 1.获取网页信息
def getHTMLText(url):
try:
r = requests.get(url)
r.raise_for_status()
r.encoding = r.apparent_encoding
return r.text
except Exception as err:
print(err)
# 2.解析页面返回的信息
def parsePhoneData(html):
soup = BeautifulSoup(html, "html.parser")
table = soup.find('table',attrs={'style':'border-collapse: collapse'})
phoneInfoList = [] # 用于存放电话信息
for td in table.find_all('td',attrs={'class':'tdc2'}):
rst = td.getText()\
.replace('\xa0','&&')\
.replace(' 测吉凶(新)','')\
.replace(' 更详细的..','')
if '移动' in rst:
rst = '中国移动'
elif '联通' in rst:
rst = '中国联通'
elif '电信' in rst:
rst = '中国电信'
phoneInfoList.append(rst)
return phoneInfoList
# 3.将查询的信息写入Excel文件
def saveDataToExcel(datalist,path):
#标题栏背景色
styleBlueBkg = xlwt.easyxf('pattern: pattern solid, fore_colour pale_blue; font: bold on;'); # 80% like
#创建一个工作簿
book=xlwt.Workbook(encoding='utf-8',style_compression=0)
#创建一张表
sheet=book.add_sheet('手机归属地查询',cell_overwrite_ok=True)
#标题栏
titleList=('手机号码段','卡号归属地','卡 类 型','区 号','邮 编')
#设置第一列尺寸
first_col = sheet.col(0)
first_col.width=256*30
#写入标题栏
for i in range(0,5):
sheet.write(0,i,titleList[i], styleBlueBkg)
#写入Chat信息
for i in range(0,len(datalist)):
data=datalist[i]
for j in range(0,len(data)):
sheet.write(i+1,j,data[j])
#保存文件到指定路径
book.save(path)
if __name__ == "__main__":
results = [] # 手机号码段信息列表
for line in open("d:/phone_section.txt", "r"):
phoneNum = line.strip(" \t\r\n")
url = "http://www.ip138.com:8080/search.asp?mobile="+phoneNum+"&action=mobile"
html = getHTMLText(url)
result = parsePhoneData(html)
results.append(result)
print(results)
saveDataToExcel(results,'d:/phone_section_result.xls')
9.相关截图:
phone_section.txt
phone_section_result.xls
10.方法总结:
该方法实时查询www.ip138.com,性能还行,但有更简单的方法。
二、使用Python lib --> phone(简单粗暴)
import phone
if __name__ == "__main__":
phoneNum = '1581339'
info = phone.Phone().find(phoneNum)
print(info)
批量查询并写入Excel文件的可以参加第一种方法
效果图:
python 手机号码归属地 软件,Python查询手机号码归属地几种方法相关推荐
- 关于python的各个常用软件——python、pycharm、anaconda
关于python的各个常用软件--python.pycharm.anaconda 工欲善其事,必先利其器.在我们学习python语言之前,必须要先安装一个顺手的编程工具,和python相关的软件有很多 ...
- python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法
导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...
- python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法
导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...
- Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)
Python进阶之使用Scrapy实现自动登录Github的两种方法 1. 通过.FormRequest()实现登录github github1.py 2. 通过.FormRequest.from_r ...
- mysql模糊查询xml_在userMapper.xml文件中模糊查询的常用的3种方法
在userMapper.xml文件中新建映射sql的标签 select from users name like "%"#{name}"%" and phone ...
- 查询范围_企二哥:查询企业经营范围的三种方法
一.查询企业经营范围的三种方法 1. 进经营地的工商局网站,有个"全国企业信用信息公示系统"进去后输入公司名称搜索就出来了. 2. 有个软件叫做天眼查,打开天眼查输入要查询的公司名 ...
- 台式机计算机型号怎么查,电脑配置怎么查询?笔记本台式机查询电脑配置的四种方法...
电脑配置怎么查询?虽然说现在网络非常的发达,但是并不是每个人都是电脑专家,还有一些不怎么接触电脑的小白用户,对于电脑配置怎么查询并不了解.今天智能手机网就为大家带来了电脑配置查询的具体方法,一起来瞧一 ...
- 免费手机号码归属地API接口 查询手机号码归属地信息
手机号码归属地接口:根据手机号码或手机号码的前7位,查询手机号码归属地信息,包括省份 .城市.区号.邮编.运营商和卡类型. 接口文档:https://www.juhe.cn/docs/api/id/1 ...
- 学python语言用什么软件-Python是什么?学习Python用什么编译器?
原标题:Python是什么?学习Python用什么编译器? Python是一个非常好用的程序语言,开发的速度非常快.Python的设计哲学是优雅.明确.简单.因此,Perl语言中总是有多种方法来做同一 ...
- python编程需要什么软件-python编程用哪个软件
Python是编程入门不错的选择,现在也有不少的程序员业余时间会研究这门编程语言. 学习Python有时候没有第一时间找到好工具,会吃不少的苦头.毕竟好的工具能将工作效率多倍速提升.(推荐学习:Pyt ...
最新文章
- Node.js REST 工具 Restify
- 小时候糖吃多了,长大后记性会变差| Nature子刊最新研究
- 人民大学云计算编程的网上评估平台--解题报告 1001-1003
- 禁用导航栏的右滑返回实现全屏手势返回
- redhat5中架设DHCP服务器与DHCP中继
- 最全面的MySQL面试题大全-一
- android10 三星升级计划,Android 10.0(Q OS)系统升级计划Androi
- 数学分析原理 定理 6.5
- 修改本机域名localhost为任意你想要的名称
- 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
- CentOS添加新硬盘和硬盘格式化
- 发生内部错误。请与 microsoft 支持部门联系。_设计变更、工程签证、确认单、工程洽商、联系单、会签的是干啥的?有啥区别?...
- excel表格拆分怎么做?
- 数字图像处理——第二章 数字图像基础
- QQ登录提示:登录超时,请检查您的网络或者本机防火墙设置(错误码:0x00000001)
- NGINX免费配置二级域名及同时开启HTTPS(HTTP强制转HTTPS)nodejs的express后端项目,前端next.js的SSR项目
- 微软进入RPA市场,这意味着什么?
- js 进一法取正、四舍五入法取正、舍去法取正
- vue项目点击左侧子菜单,打开一个新的浏览器标签页
- 家用电梯的曳引式电梯井道尺寸及配置