联网获取360数据,识别骚扰电话,java实现
来源:互联网 发布:爱剪辑mac版中文版 编辑:程序博客网 时间:2024/05/16 02:06
由于最近在写一个android端的骚扰电话拦截app,想联网智能识别骚扰电话,所以做了以下的封装。
实现思路:通过jsoup解析好搜的搜索页面,获得结果。
需要注意的是,下面的代码依赖jsoup,请自行下载。
直接看demo类:
package HarassingPhone;import HarassingPhone.PhoneNumberJudge.HarassingResultlistener;public class Demo {public static void main(String[] args) {PhoneNumberJudge netJudge=new PhoneNumberJudge();netJudge.judgeNumberFrom360("17092908843", new HarassingResultlistener() {@Overridepublic void onSuccess(boolean isHarassingNumber, String where, String type) {System.out.println(isHarassingNumber+where+type);}});}}
运行返回结果:
true陕西西安 蜗牛移动 骚扰电话
boolean isHarassingNumber,<pre name="code" class="java">true为骚扰电话,false则不是。
String where,
表示号码归属地
String type
骚扰电话类型,比如:快递送餐,保险推销等等
具体实现类:
package HarassingPhone;import java.io.IOException;import java.net.URL;import java.security.KeyManagementException;import java.security.NoSuchAlgorithmException;import java.security.SecureRandom;import java.security.cert.CertificateException;import java.security.cert.X509Certificate;import javax.net.ssl.HostnameVerifier;import javax.net.ssl.HttpsURLConnection;import javax.net.ssl.SSLContext;import javax.net.ssl.SSLSession;import javax.net.ssl.TrustManager;import javax.net.ssl.X509TrustManager;import org.jsoup.Jsoup;import org.jsoup.nodes.Document;import org.jsoup.select.Elements;public class PhoneNumberJudge {PhoneNumberJudge(){SSLContext sc = null;try {sc = SSLContext.getInstance("TLS");sc.init(null, new TrustManager[]{new MyTrustManager()}, new SecureRandom());} catch (NoSuchAlgorithmException e1) {e1.printStackTrace();} catch (KeyManagementException e) {e.printStackTrace();} HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory()); HttpsURLConnection.setDefaultHostnameVerifier(new MyHostnameVerifier()); }public interface HarassingResultlistener{void onSuccess(boolean isHarassingNumber,String where,String type);}public void judgeNumberFrom360(String phoneNumber,HarassingResultlistener harassingResultlistener) {new Thread(new Runnable() {@Overridepublic void run() {String reWhere="";String reType="";boolean reIsHarassingNumber=false;try {Document doc=Jsoup.parse(new URL("https://www.so.com/s?q="+phoneNumber), 2000);Elements elements=doc.getElementsByClass("mh-detail");if (!elements.isEmpty()) {reWhere=elements.get(0).child(1).text();reWhere=reWhere.replaceAll("\u00a0", " ");}Elements elements2=doc.getElementsByClass("mohe-ph-mark");if (!elements2.isEmpty()) {reIsHarassingNumber=true;reType=elements2.get(0).text();}harassingResultlistener.onSuccess(reIsHarassingNumber, reWhere, reType);} catch (IOException e) {e.printStackTrace();}}}).start();}private class MyHostnameVerifier implements HostnameVerifier{ @Override public boolean verify(String hostname, SSLSession session) { // TODO Auto-generated method stub return true; } } private class MyTrustManager implements X509TrustManager{ @Override public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { // TODO Auto-generated method stub } @Override public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { // TODO Auto-generated method stub } @Override public X509Certificate[] getAcceptedIssuers() { // TODO Auto-generated method stub return null; } } }
构造方法里面的操作是为了进行https的访问,jsoup本身不支持https。
以上为全部,照着demo调用就行了。
0 0
- 联网获取360数据,识别骚扰电话,java实现
- 骚扰电话识别接口api,php实现,360数据
- 为什么没有成功识别出骚扰电话?
- 骚扰电话
- 骚扰电话
- 360大数据: 十一期间骚扰诈骗电话日均高达1.5亿次
- 0274008881106 骚扰电话
- 校园寝室骚扰电话
- 美女宿舍的骚扰电话
- 最近骚扰电话真多
- 女生宿舍的骚扰电话
- 屏幕永不超时,来骚扰电话会息屏.屏幕从不超时、获取屏幕超时
- 杂谈:骚扰电话,电信诈骗,中介电话
- iOS骚扰电话数据首度曝光,每个用户平均每天至少接1个
- Android中高版本拦截到骚扰电话自动挂断的实现
- ★《女生寝室骚扰电话》★
- 电话骚扰 【响完一声开始没有任何声音】
- iOS9.3.3骚扰电话拦截黑名单数据库
- 循环磁盘内容遇到问题
- Git for Windows v2.8.3 Release Notes
- 代码与算法集锦-归并排序+树状数组+快排+深度优先搜索+01背包(动态规划)
- 申请搜狐自媒体账号
- cs231n 卷积神经网络与计算机视觉 1 基础梳理与KNN图像分类
- 联网获取360数据,识别骚扰电话,java实现
- git的submodule功能详解
- 课程练习三-1006-problem F
- Android研发规范
- 自定义TabBar步骤
- h5遍历数据
- 排序之选择排序
- Fragmentv4和app中的fragment
- Ubuntu16.04 jdk+Eclipse环境搭建, jdk版本自由切换