下载网页的基本方法

在Java中可以用java.net.URL类对实际的URL进行建模,通过这个类,可以对相应的Web服务器发出请求并且获得相应的文档。Java.net.URL类有一个默认的构造函数,使用URL地址作为参数,构造URL对象。

    URL pageURL=new URL(path);

之后,可以通过获得的URL对象来取得网络流,进而像操作本地文件一样来操作网络资源。

InputStream stream=pageURL.openStream();

可以将网页看作网络文件,然后按照文件读取的方式把它读出来并保存到本地。

一个下载网页的程序:

package crawler;

import java.io.IOException;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.Scanner;

import tool.WriteFile;

public class RetrivePage {
    public static String downloadPage(String path) throws IOException{
        URL pageURL=new URL(path);
        //创建网络流
        Scanner in=new Scanner(new InputStreamReader(pageURL.openStream()));
        in.useDelimiter("\\z");//可以用正则表达式分段读取网页
        //读取网页内容
        StringBuilder pageBuffer=new StringBuilder();
        while(in.hasNext()){
            pageBuffer.append(in.next());
        }
        in.close();
        //返回网页内容
        return pageBuffer.toString();
    }
    public static void main(String[] args) throws IOException {
        String path="http://www.essence.com.cn/essence/news/NewsContent.jsp?docId=29499442";
        String content=RetrivePage.downloadPage(path);
        System.out.println(content);
        String filePath="D:\\lucene\\data\\news.txt";
        WriteFile.writeFile(filePath, content);
    }

}

你可能感兴趣的:(下载网页的基本方法)