抓取数据

@Controller
@RequestMapping("/fetch")
public class FetchTestController {
	
	
	@RequestMapping(method = RequestMethod.GET,produces = "text/html;charset=UTF-8")
	@ResponseBody
	public String fetch(String dh) throws Exception{
		return captureHtml("27.17.7.126")+kuaidi(dh);
	}
	
	
	public static String captureHtml(String ip) throws Exception {
		String strURL = "http://ip.chinaz.com/?IP=" + ip;
		URL url = new URL(strURL);
		HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
		InputStreamReader input = new InputStreamReader(httpConn
				.getInputStream(), "utf-8");
		BufferedReader bufReader = new BufferedReader(input);
		String line = "";
		StringBuilder contentBuf = new StringBuilder();
		while ((line = bufReader.readLine()) != null) {
			contentBuf.append(line);
		}
		String buf = contentBuf.toString();
		int beginIx = buf.indexOf("查询结果[");
		int endIx = buf.indexOf("上面三项依次显示的是");
		String result = buf.substring(beginIx, endIx);
		return result;
	}
	
	public static String kuaidi(String dh) throws Exception {
		String strURL = "http://www.kiees.cn/sf.php?wen=" + dh+"&action=ajax&rnd=0.46820330132611678";
		URL url = new URL(strURL);
		HttpURLConnection httpConn = (HttpURLConnection) url.openConnection();
		InputStreamReader input = new InputStreamReader(httpConn
				.getInputStream(), "utf-8");
		BufferedReader bufReader = new BufferedReader(input);
		
		String line = "";
		StringBuilder contentBuf = new StringBuilder();
		while ((line = bufReader.readLine()) != null) {
			contentBuf.append(line);
		}
		String buf = contentBuf.toString();
		return buf;
		//System.out.println(buf);
		/*int beginIx = buf.indexOf("查询结果[");
		int endIx = buf.indexOf("上面三项依次显示的是");
		String result = buf.substring(beginIx, endIx);
		System.out.println("captureHtml()的结果:\n" + result);*/
	}

}

你可能感兴趣的:(抓取数据)