Java通过URL提取网站源码

除了在网站右键另存为保存网站源码外,作为一门无所不能的语言,java当然也能直接获取网页源码,然后另存为本地。
这里使用的就是输入输出流。
直接将方法进行了封装
代码如下:
传的三个参数分别为:网站的URL,网站的编码类型(UTF-8或者gbk或者gb2312等等) 以及文件的另存路径

public static boolean getHtmlByUrl(String u,String charset,String htmlPath) throws IOException{
        boolean result = true;
        try {
            //通过url生成静态页面
            URL url = new URL(u);
            URLConnection connection = url.openConnection();
            //javase ---->io net inputStream 
            //获取输入流
            InputStream in = connection.getInputStream();

            //Buffered缓存Reader Writer
            BufferedReader reader = new BufferedReader(new InputStreamReader(in,charset));
            StringBuffer sBuffer = new StringBuffer();
            while(reader.ready()){
                sBuffer.append(reader.readLine()+"\n");
                //System.out.println(reader.readLine());
            }
            //关闭流
            reader.close();
            in.close();

            File file = new File(htmlPath);
            BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(file),"gbk"));
            writer.write(sBuffer.toString());
            writer.close();
            result = true;

        } catch (MalformedURLException e) {
            e.printStackTrace();
        }


        return result;
    }

例如:
我要将www.baidu.com这个网站的源码保存到我的本地磁盘D盘根目录调用方法如下
getHtmlByUrl(“www.baidu.com”,”gbk”,”D:baidu.html”);
运行后便可在D盘根目录下生成一个baidu.html的文件

你可能感兴趣的:(网站后台)