17189316631的手机号归属地 数据库是

博客分类:
工作过程中抓取了很多手机号码,现需要获取他们的归属地。于是自己写了个工具类,这个工具类只是基本了实现该功能,没有考虑其他因素。
我知道手机号码归属地的判断是根据前7位,一开始本想获取他们的规律,就是哪个号码段的手机是属于哪个地区,但发现自己无法获取。于是想到了有一些网站有这个功能,同时自己也写爬虫,于是利用爬虫的思路去完成这个功能。这里大概思路是通过HttpClient去模拟提交那些网站的查询功能,这里是,然后通过正则表达式去解析HttpClient相应内容,从里面抽取出手机归属地。同时对要查询的手机进行一个验证,具体代码请看如下:
import java.util.regex.M
import java.util.regex.P
import mons.httpclient.HttpC
import mons.httpclient.NameValueP
import mons.httpclient.methods.PostM
import mons.httpclient.params.HttpMethodP
* 通过手机号码,获得该号码的归属地
* @author Administrator
public class MobileFromUtil {
//正则表达式,抽取手机归属地
public static final String REGEX_GET_MOBILE=
"(?is)(&tr[^&]+&[\\s]*&td[^&]+&[\\s]*卡号归属地[\\s]*&/td&[\\s]*&td[^&]+&([^&]+)&/td&[\\s]*&/tr&)"; //2:from
//正则表达式,审核要获取手机归属地的手机是否符合格式,可以只输入手机号码前7位
public static final String REGEX_IS_MOBILE=
"(?is)(^1[3|4|5|8][0-9]\\d{4,8}$)";
* 获得手机号码归属地
* @param mobileNumber
* @throws Exception
public static String getMobileFrom(String mobileNumber) throws Exception {
if(!veriyMobile(mobileNumber)){
throw new Exception("不是完整的11位手机号或者正确的手机号前七位");
HttpClient client=
PostMethod method=
NameValuePair mobileParameter=
NameValuePair actionParameter=
int httpStatusC
String htmlSource=
String result=
client=new HttpClient();
client.getHostConfiguration().setHost("", 8080, "http");
method=new PostMethod("/search.asp");
mobileParameter=new NameValuePair("mobile",mobileNumber);
actionParameter=new NameValuePair("action","mobile");
method.setRequestBody(new NameValuePair[] { actionParameter,mobileParameter });
//设置编码
method.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "GB2312");
client.executeMethod(method);
httpStatusCode=method.getStatusLine().getStatusCode();
if(httpStatusCode!=200){
throw new Exception("网页内容获取异常!Http Status Code:"+httpStatusCode);
htmlSource=method.getResponseBodyAsString();
if(htmlSource!=null&&!htmlSource.equals("")){
result=parseMobileFrom(htmlSource);
} catch (RuntimeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
method.releaseConnection();
* 从返回的结果网页内容中获取手机号码归属地,结果为:省份 城市
* @param htmlSource
public static String parseMobileFrom(String htmlSource){
Pattern p=
Matcher m=
String result=
pile(REGEX_GET_MOBILE);
m=p.matcher(htmlSource);
while(m.find()){
if(m.start(2)&0){
result=m.group(2);
result=result.replaceAll("&", " ");
* 验证手机号
* @param mobileNumber
public static boolean veriyMobile(String mobileNumber){
Pattern p=
Matcher m=
pile(REGEX_IS_MOBILE);
m=p.matcher(mobileNumber);
return m.matches();
* @param args
* @throws Exception
public static void main(String[] args) throws Exception {
System.out.println(getMobileFrom(""));
更多技术文章、感悟、分享、勾搭,请用微信扫描:
浏览: 665833 次
来自: 上海
浏览量:176465
写的不错,很有意境
at com.sun.tools.javac.api.Java ...
大神,请教一个问题,Hertrix 和 Nutch 有没有提供 ...
endy219 写道起步学习,资料的确比较少,谢谢分享!
我勒个去,加个群还需要支付费用才能加,这个境界简直无敌!!!
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'博客分类:
//手机归属地查询
function searchMobileArea(){
var phone=$.trim($("#key_S").val());
if(searchAreaMobilePhoneFromIndex(phone)){//验证手机号
searchMobilePhoneGuiSuArea(phone);//查询手机归属地
//验证手机号
function searchAreaMobilePhoneFromIndex(mobileNo){
if (mobileNo == "") {
alert("手机号不能为空"); return (false);
if (mobileNo.length != 11) { alert("请输入11位手机号"); return (false); }
if (isNaN(mobileNo)){ alert("请输入11位数字"); return (false); }
//查询手机归属地
function searchMobilePhoneGuiSuArea(mobileNo){
var $searchPhonearea = $("#searchPhoneArea");
$searchPhonearea.html("&div class='loadingdiv' style='width:150'&&div class='loadingArea'&查询中,请稍候...&/div&&/div&");
type:"POST",
url:"https://service./tools.do?method=getPhoneNativeInfo",
datatype:"text",
data:"phone="+mobileNo,
success:function(res){
var mobilehtml = "";
if(res!="-1" && res!="-2"){
mobilehtml += '&div&查询号码:&span class="fontHigh"&'+mobileNo+'&/span&&/div&';
var result=res.split(";");
if(result[1]==result[3]){
mobilehtml += '&div&归属地为:&span class="fontHigh"&'+result[1]+'&/span&&/div&';
mobilehtml += '&div&归属地为:&span class="fontHigh"&'+result[1]+' '+result[3]+'&/span&&/div&';
mobilehtml += '&div&区号为:&span class="fontHigh"&0'+result[2]+'&/span&&/div&';
$searchPhonearea.html( mobilehtml );
$("#key_S").val("");
} else { $searchPhonearea.html("&span class='fontHigh'&非常抱歉!系统中没有您需要的信息...&/span&");
error:function(xml){ $searchPhonearea.html("&span class='fontHigh'&非常抱歉!系统中没有您需要的信息...&/span&");
function searchMobileAreaBykeyDown(event,obj){
var event=event||window.
if(event.keyCode == 13){
searchMobileArea();
浏览: 2660048 次
来自: 上海
sxx, bucunzai kuaibukuaile, jia ...
这不是邮编,这是区号
刚开始以为被黑客盯上了呢,太坑了,谢谢博主。
真是太坑爹了
(window.slotbydup=window.slotbydup || []).push({
id: '4773203',
container: s,
size: '200,200',
display: 'inlay-fix'手机号码有什么规律吗,怎样看号码的归属地的?
130-133号段是联通的,134-139号段是移动的。移动现在还获得了159号段。
目前我国使用的手机号码为11位,其中各段有不同的编码方向:
前3位:网络识别号
第4~7位:地区编码
第8~11位:用户号码
  在移动通信大发展的过程中,各号码段都是逐步使用、放号的,要分布在全国各地(一般都是沿海发达地区一次放号的号段比较多,可以是几万号至十万号),所以没有什么规律...
国内的手机号码,是由国家信息产业部统一规划的。原来是10位,由于用户的不断增长,10位的号码不够使用,于是升为11位。
现在的手机号码格式是 3位网号+4位HL...
手机访问 爱问搜索首页有一栏《便民查询》,点击进入,有《手机归属地查询》,进入,输入要查询的手机号码。
对用户没有这方面的服务。只有公安机关办案需要,才能通过通信公司,可以查到手机发话地的基站地址。
手机号码归属地是无法更改的
国内的手机号码,是由国家信息产业部统一规划的。原来是10位,由于用户的不断增长,10位的号码不够使用,于是升为11位。
现在的手机号码格式是 3位网号+4位HL...
你去塞班手机智能网上就有
软件的名字叫来电通!
是手机用的吗?很多啊,“UC桌面”、“来电通”、“安全管家”等通信管理软件都有这功能,全部免费。
有可能是个新号码。。查归属地主要是看13x之后的四位号码,如果北京是,但是最近用完了,又出了,那在那个软件里边就查不到了
还没有这个功能
您查询的手机号码段
卡号归属地
答: 我捡了个ipad但是ID激活锁那被锁了,请教高手如何解锁
答: 数码变焦只是单纯的放大 不能保证清晰
它的工作方式类似于我们在电脑中将图像的某一部分进行放大,不同的是“数码变焦”是在拍摄过程中直接在CCD上完成的。确切地说...
答: 风险当然是有的,谁也不能保证.
不过,劝你千万不要在小网买东西.
最好在卓越,当当和淘宝之类的.
付款方式最好选择"货到付款",用网上银行有点危险!
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区
相关问答:123456789101112131415全国手机号码段归属地数据_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
全国手机号码段归属地数据
&&共21万多条数据
你可能喜欢

我要回帖

更多关于 手机号归属地变更 的文章

 

随机推荐