一、使用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查询手机号码归属地几种方法相关推荐

  1. 关于python的各个常用软件——python、pycharm、anaconda

    关于python的各个常用软件--python.pycharm.anaconda 工欲善其事,必先利其器.在我们学习python语言之前,必须要先安装一个顺手的编程工具,和python相关的软件有很多 ...

  2. python numpy读取数据_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  3. python大神读取_大神教你python 读取文件并把矩阵转成numpy的两种方法

    导读 今天小编就为大家分享一篇python 读取文件并把矩阵转成numpy的两种方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小编过来看看吧 在当前目录下: 方法1: file = open( ...

  4. Python进阶之使用Scrapy实现自动登录Github的两种方法(POST,FormRequest,from_response)

    Python进阶之使用Scrapy实现自动登录Github的两种方法 1. 通过.FormRequest()实现登录github github1.py 2. 通过.FormRequest.from_r ...

  5. mysql模糊查询xml_在userMapper.xml文件中模糊查询的常用的3种方法

    在userMapper.xml文件中新建映射sql的标签 select from users name like "%"#{name}"%" and phone ...

  6. 查询范围_企二哥:查询企业经营范围的三种方法

    一.查询企业经营范围的三种方法 1. 进经营地的工商局网站,有个"全国企业信用信息公示系统"进去后输入公司名称搜索就出来了. 2. 有个软件叫做天眼查,打开天眼查输入要查询的公司名 ...

  7. 台式机计算机型号怎么查,电脑配置怎么查询?笔记本台式机查询电脑配置的四种方法...

    电脑配置怎么查询?虽然说现在网络非常的发达,但是并不是每个人都是电脑专家,还有一些不怎么接触电脑的小白用户,对于电脑配置怎么查询并不了解.今天智能手机网就为大家带来了电脑配置查询的具体方法,一起来瞧一 ...

  8. 免费手机号码归属地API接口 查询手机号码归属地信息

    手机号码归属地接口:根据手机号码或手机号码的前7位,查询手机号码归属地信息,包括省份 .城市.区号.邮编.运营商和卡类型. 接口文档:https://www.juhe.cn/docs/api/id/1 ...

  9. 学python语言用什么软件-Python是什么?学习Python用什么编译器?

    原标题:Python是什么?学习Python用什么编译器? Python是一个非常好用的程序语言,开发的速度非常快.Python的设计哲学是优雅.明确.简单.因此,Perl语言中总是有多种方法来做同一 ...

  10. python编程需要什么软件-python编程用哪个软件

    Python是编程入门不错的选择,现在也有不少的程序员业余时间会研究这门编程语言. 学习Python有时候没有第一时间找到好工具,会吃不少的苦头.毕竟好的工具能将工作效率多倍速提升.(推荐学习:Pyt ...

最新文章

  1. Node.js REST 工具 Restify
  2. 小时候糖吃多了,长大后记性会变差| Nature子刊最新研究
  3. 人民大学云计算编程的网上评估平台--解题报告 1001-1003
  4. 禁用导航栏的右滑返回实现全屏手势返回
  5. redhat5中架设DHCP服务器与DHCP中继
  6. 最全面的MySQL面试题大全-一
  7. android10 三星升级计划,Android 10.0(Q OS)系统升级计划Androi
  8. 数学分析原理 定理 6.5
  9. 修改本机域名localhost为任意你想要的名称
  10. 网卡 的linux驱动精灵,下载:Intel PRO100/1000网卡驱动13.0版
  11. CentOS添加新硬盘和硬盘格式化
  12. 发生内部错误。请与 microsoft 支持部门联系。_设计变更、工程签证、确认单、工程洽商、联系单、会签的是干啥的?有啥区别?...
  13. excel表格拆分怎么做?
  14. 数字图像处理——第二章 数字图像基础
  15. QQ登录提示:登录超时,请检查您的网络或者本机防火墙设置(错误码:0x00000001)
  16. NGINX免费配置二级域名及同时开启HTTPS(HTTP强制转HTTPS)nodejs的express后端项目,前端next.js的SSR项目
  17. 微软进入RPA市场,这意味着什么?
  18. js 进一法取正、四舍五入法取正、舍去法取正
  19. vue项目点击左侧子菜单,打开一个新的浏览器标签页
  20. 家用电梯的曳引式电梯井道尺寸及配置

热门文章

  1. matlab工具箱下载
  2. FFmpeg 转码压缩
  3. 手机 省份证 归属地查询接口
  4. 游戏框架设计【各大管理系统篇】
  5. matlab版深度学习入门之旅----体验过后的个人记录
  6. 2021年蓝桥杯省赛JavaB组真题解析
  7. Excel2013每次打开都弹出配置进度窗口的分步解决办法
  8. 2021年认证杯-数学建模
  9. 调节汉化版Eclipse的字体大小
  10. android 改机型玩王者,全机型60帧一键修改