Java实现查询手机号码被标记功能
使用第三方的接口基本都收费,百度和360搜索可以直接输入号码查询标识状态,这里我使用Jsoup爬虫快速实现号码标识查询功能。
1 public static JSONObject so(String mobile){ 2 JSONObject jsonObject=new JSONObject(); 3 jsonObject.put("count",0);//多少人标识 4 try { 5 Connection con = Jsoup.connect("https://www.so.com/s?q="+mobile); 6 con.header("Host", "https://www.so.com"); 7 con.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); 8 con.header("Content-Type", "application/x-www-form-urlencoded"); 9 con.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"); 10 Document doc=con.get(); 11 String count=doc.select(".mohe-tips b").text(); 12 if(StringUtils.isNotBlank(count)){ 13 jsonObject.put("count",count);//多少人标识 14 jsonObject.put("address",doc.select(".mohe-mobileInfoContent .mh-detail span").last().text());//地址 15 jsonObject.put("type",doc.select(".mohe-tips .mohe-ph-mark").text());//标识类别 16 jsonObject.put("source",doc.select(".mohe-tips .mohe-sjws").text());//来源 17 jsonObject.put("date",EasyDate.getCurrentDateString()); 18 } 19 } catch (Exception e) { 20 e.printStackTrace(); 21 return jsonObject; 22 } 23 return jsonObject; 24 } 25 public static JSONObject baidu(String mobile){ 26 JSONObject jsonObject=new JSONObject(); 27 jsonObject.put("count",0);//多少人标识 28 try {
Connection con = Jsoup.connect("https://www.baidu.com/s?wd="+mobile); 31 con.header("Host", "www.baidu.com"); 32 con.header("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8"); 33 con.header("Content-Type", "application/x-www-form-urlencoded"); 34 con.header("User-Agent", "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36"); 35 Document doc=con.get();
String source=doc.select(".op_fraudphone_word a").text();
if(StringUtils.isNotBlank(source)){ 41 jsonObject.put("source",doc.select(".op_fraudphone_word a").text());//来源 42 String desc=doc.select(".op_fraudphone_word").text(); 43 if(StringUtils.isNotBlank(desc)){ 44 String count=desc.substring(desc.indexOf("被")+1,desc.indexOf("个")); 45 jsonObject.put("count",count);//多少人标识 46 } 47 jsonObject.put("address",doc.select(".op_fraudphone_addr").text());//地址 48 jsonObject.put("type",doc.select(".op_fraudphone_label").text());//标识类别 49 jsonObject.put("date",EasyDate.getCurrentDateString()); 50 } 51 } catch (Exception e) { 52 e.printStackTrace(); 53 return jsonObject; 54 }
return jsonObject; 57 } 58 public static void main(String[] args) throws IOException { 59 // String mobile="073184145266"; 60 String mobile="037110016"; 61 System.out.println(baidu(mobile)); 62 System.out.println(so(mobile)); 63 64 }