用流从一个指定的网址抓取html代码

package cn.bdqn.collect.test;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;

public class TestGetHTML {
	public static void main(String[] args)throws Exception{
		String target="http://www.boohee.com/food/group/1?page=1";//首先获取第一个分类下的列表----路径
		//先把网址放在一个字符串中,再通过一个java的URL类转换成java程序可识别的网址
		URL url=new URL(target);//java.net下的url类是专门用来表示一个网址的,如果提交的网址不对会抛出一个异常
		//打开和这个网址的连接
		URLConnection conn=url.openConnection();
		//获得输入流,字节流
		InputStream is=conn.getInputStream();
		//字节流转换成字符流
		InputStreamReader isr=new InputStreamReader(is, "utf-8");//第一个参数是字节流,第二个参数是要转换成什么编码格式,可以去网页源代码查看
		//把转换流包装成缓冲流,缓冲流以行为单位一行一行的读17:45
		BufferedReader br=new BufferedReader(isr);
		
		StringBuilder sb=new StringBuilder();
		//用来以行为单位读取页面内容
		String str=null;
		while ((str=br.readLine())!=null) {
			sb.append(str);
			sb.append("\r\n");
		}
		//关闭缓冲流
		br.close();
		System.out.println(sb.toString());
		
		
		
	}
}

 

posted @ 2016-10-09 11:21  Angelinas  阅读(586)  评论(0编辑  收藏  举报