首页>代码>javascript仿百度联想查询>/thinkpad/src/com/BaiduSuggestionUtil2.java
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日
最近浏览更多
1waxzsq212345  LV2 1月16日
fesfefe  LV13 2023年10月23日
tansuo阿郎  LV8 2022年11月16日
cikoola  LV1 2022年4月20日
icanbefit 2022年4月18日
暂无贡献等级
明月星  LV4 2022年4月14日
1306878374  LV13 2022年1月4日
free_q 2021年12月27日
暂无贡献等级
751948 2021年12月14日
暂无贡献等级
wadsad  LV1 2021年12月7日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友