ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

我用Java抢到了一个手机靓号~

2021-06-14 17:03:56  阅读:202  来源: 互联网

标签:Java String 靓号 phoneNumber result 我用 new numberSet


        最近闲来无事,想注册一些不常用的软件来玩,但是发现需要手机号注册,可我又不希望用我常用的手机号,所以就想起来买一个小号注册。正好最近看到网上有出售手机号的,支持自选号码,顿时我就有想法了。

        但是我在选号平台上搜索了几次,发现出现靓号的概率很小很小,总是挑不到我喜欢的靓号。这可怎么办?是样本太少,还是我频率太低?行吧,不想多说了,键来~

        作为程序员,我觉得我们很有必要用自己的知识和能力,来给我们挑选一个靓号。我先Google了一下,想看看有没有现成的代码供我学习,但是很遗憾,没有,仅有的都是一些散乱的代码,根本无法正常运行。没办法,那就上手写吧!经过长达几个小时的coding奋斗,我完成了搜索靓号的代码工作。

        此项目可以供Java初学者进行简单项目学习,也可供其他技术人员在此项目基础上进行开发(禁止商用)。阅读本文你可以学到:

            1.文件IO的读取与保存。

            2.okhttp的get请求使用。

            3.maven引入依赖包。

            4.正则表达式的使用与分析。

            5.Java8 Stream的使用。

            6.靓号的获取。

 

        先看一下伪代码,由以下四部分构成。详细源代码关注公众号[小宇哥聊技术]发送靓号获取。

顶层设计:

PhoneNumber phoneNumber = new PhoneNumber();
Set<Long> numberSet = phoneNumber.readFile(); // 读取文件
phoneNumber.scan(numberSet); // 搜索靓号
phoneNumber.writeFile(numberSet); // 保存靓号
phoneNumber.regex40(numberSet); // 分析号码,找出你喜欢的靓号

          这个项目,我使用了文件来进行号码的存储,把所有搜索的号码全都存放到文件中进行保存。

ArrayList<String> arrayList = new ArrayList<>();
FileReader fileReader = new FileReader(file);
BufferedReader bufferedReader = new BufferedReader(fileReader);
String strLine;
while ((strLine = bufferedReader.readLine()) != null) {
    arrayList.add(strLine);
}
bufferedReader.close();
fileReader.close();

          然后我们开始通过分析页面,找出所需要的url进行分析响应结构,这个页面还是非常简单的,我们对字符串进行简单的处理,就把数据的结构给解析出来了。伪代码如下:

String url = "";
OkHttpClient client = new OkHttpClient();
for (int i = 0; i < NUM_MAX; i++) {
    Request request = new Request.Builder().url(url).build();
    Call call = client.newCall(request);
    String result = call.execute().body().string();
    JSONObject jsonObject = JSON.parseObject(result);
    TimeUnit.SECONDS.sleep(1);
}

          把阈值调大,循环执行多次,我们的文件系统中就已经保存到几万条数据了,现在已经可以对号码进行分析了。如何找到一个别人没有发现的靓号是关键,我们可以通过正则表达式来进行分析处理,找到里面最好的靓号。

result = result.stream()
          .filter(temp -> {
              String pattern = "(1|2|3|5|6|7|8|9){11}";
              Boolean isMatch = Pattern.matches(pattern, temp.toString());
              return isMatch ? true : false;
          })
          .collect(Collectors.toSet());

  

        看一下我们找到的结果吧~

 

                                 

 

以上就是本次的教程。喜欢的小哥哥小姐姐们希望点赞转发评论三连哦~

关注公众号[小宇哥聊技术]发送靓号获取源代码。

 

毕竟我们学习就是为了改变世界。

标签:Java,String,靓号,phoneNumber,result,我用,new,numberSet
来源: https://www.cnblogs.com/xiaoyugeliaojishu/p/14882728.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有