我们都知道手机号中隐藏着一些信息,比如运营商、号码归属地等,有时候我们需要获取手机号属于什么地区,以便于做分类。 很多人一般会借助工具,然后再把结果复制或者导入Excel中,效率很低。其实完全不用借助工具,Excel自己就有获取的函数。所以这篇文章就来分享2种非常高效的方式,几秒钟就可以解决。 2个web前端小知识因为获取数据需要通过网络访问服务器,所以简单的web知识还是最好了解一点,一看就会。 1、开发者工具键【F12】 在网页端按下【F12】发现我们看到了web前端的源代码,我们需要获取的数据就包含在这些信息中。 步骤:网页中输入手机号,点击查询,【F12】调出开发工具界面,【Ctrl + F】搜索“号码归属地”,可以看到查询到的结果,以及下面的手机卡类型。
查询步骤 2、UTF-8编码 要保证访问的网页是指定了UTF-8编码的,否则获取的网页信息如果含有中文放在Excel中就会出现乱码,自然也就得不到最后的结果了。 查看是否是UTF-8编码方法:在【F12】调出的开发者工具界面搜索“charset”。
查看charset 如果出现下面这种charset="gb2312",含有中文就会出现乱码。
数据含有中文放Excel会乱码 为获取正确的信息,web前端的知识只需要知道这2点就够用了。 第一种方法https://shouji.51240.com/ 从上面这个网址获取查询信息,但是如果想获取某个手机号的查询信息,这个网址还并不完整。 步骤一:拼接完整网址 单元格输入: ="https://shouji.51240.com/"&A3&"__shouji/" 把A3单元格中的手机号也拼接上,网址就变成了
https://shouji.51240.com/18814799140__shouji/
拼接完整网址 步骤二:获取网址信息 =WEBSERVICE(网址) 通过使用Excel中的WEBSERVICE函数,发送服务请求服务器返回数据。
获取数据 注意:【=WEBSERVICE(网址)】这个获取数据的函数最好一行只出现一次,因为每使用一次就会发送一次网络请求,网络不好会出现严重的卡顿,甚至获取不到数据。 所以最好WEBSERVICE函数自己写一列,也可以把“网址”列和“获取网址信息”列合并为: =WEBSERVICE("https://shouji.51240.com/"&A3&"__shouji/") 步骤三:通过查询、截取等函数获得归属地 =MID(C3,FIND("title",C3)+18,FIND("-",MID(C3,FIND("title",C3)+18,11))-2) 通过FIND函数查出title的位置,然后再通过MID函数截取。
获得结果 但是这种方法有一个不好的地方,如果刚开始因为网络慢没有获取到数据,那么后面也不会自动刷新结果,只能通过手动一行一行刷新。 第二种方法http://shouji.xpcha.com/ 第2种方法用的是另外一个网址,步骤和方法第一种大同小异。 步骤一:拼接字符串 ="http://shouji.xpcha.com/"&A3&".html" 步骤二:获取网址信息 =WEBSERVICE(网址) 步骤三:通过查询、截取等函数获得归属地
=RIGHT(MID(C3,FIND("手机卡类型:",C3)+13,4),2)&" "&MID(C3,FIND("号码归属地:",C3)+13,FIND("<",MID(C3,FIND("号码归属地:",C3)+13,10))-1)
获取结果 这个网址的好处就是,如果刚开始因为网络慢未获取到数据,但是获取到数据后会自动更新。所以相比于两者,第二种方法更好一些。 总结上面两个网址是我测试了很多次之后筛选出来的,最后做一个总结: 1、了解2点web知识,知道数据的来源。 2、第一种方法存在小小的缺陷:获取不到的数据,需要手动刷新。 3、第二种方法短时间获取不到数据,后面获取到时会自动刷新。 |