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日