package com; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; import java.net.URLEncoder; import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; import net.sf.json.JSONArray; public class BaiduSuggestionUtil2 { public static final String BAIDU_HOST = "http://unionsug.baidu.com"; public static final String QUERY_PATH = "/su?wd="; public static final String PARAMETER = "&cb=window.bdsug.sug&from=superpage&t="; public static final String REFERER_HEADER = "Referer"; public static final String REFERER = "http://www.baidu.com/"; public static final String BAIDU_SUG_REG = "\"[\\s\\S]*?\""; private InputStream in = null; private InputStreamReader inr = null; private HttpURLConnection conn = null; public JSONArray getBaiduRelateWord(String input) { String t = String.valueOf(System.currentTimeMillis()); String response = null; List<BaiduSuggestionUtil2> list = new ArrayList<BaiduSuggestionUtil2>(); try { URL url = new URL(BAIDU_HOST + QUERY_PATH + URLEncoder.encode(input, "utf-8") + PARAMETER + t); conn = (HttpURLConnection) url.openConnection(); conn.setRequestProperty(REFERER_HEADER, REFERER); in = conn.getInputStream(); inr = new InputStreamReader(in, "gbk"); int c = 0; StringBuffer sb = new StringBuffer(); while ((c = inr.read()) != -1) { sb.append((char) c); } response = sb.toString(); Pattern pattern = Pattern.compile(BAIDU_SUG_REG); Matcher m = pattern.matcher(response); while (m.find()) { BaiduSuggestionUtil2 bd = new BaiduSuggestionUtil2(); bd.setName(m.group().replace("\"", "")); if (!bd.getName().equals(input)) { list.add(bd); System.out.println(m.group().replace("\"", "")); } } } catch (MalformedURLException e) { e.printStackTrace(); return null; } catch (UnsupportedEncodingException e) { e.printStackTrace(); return null; } catch (IOException e) { e.printStackTrace(); return null; } finally { try { if (inr != null) { inr.close(); } if (in != null) { in.close(); } } catch (IOException e) { e.printStackTrace(); return null; } } JSONArray jsonArray = JSONArray.fromObject(list); return jsonArray; } public static void main(String args[]) { new BaiduSuggestionUtil2().getBaiduRelateWord("卡扎菲"); } /** 91 * 百度联想词 92 */ private String name; public String getName() { return name; } public void setName(String name) { this.name = name; } }

chenkaizhen LV1
2021年11月26日
zhj7181 LV1
2021年7月4日
totcom LV1
2021年3月3日
邈话12123 LV9
2020年10月29日
duke最拽 LV3
2020年10月22日
能不能不存在 LV13
2020年5月11日
kangran LV1
2020年4月17日
wanminhang LV12
2020年3月15日
3030617253 LV2
2019年11月30日
时空12580 LV13
2019年1月6日