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

时间:2022-07-07 18:12:16
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()); }
}