下载网页的基本方法

在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);
    }

}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,087评论 19 139
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,803评论 18 399
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,926评论 25 709
  • 我曾经写过一个故事,一个充满希望又挤满绝望的故事。 王子爱上了河对岸的一个公主,公主的头发如金黄麦穗,眼睛里都是还...
    我开始写影评了阅读 185评论 0 0
  • 徘徊了多少路口 走过了多少岁月 每一次都在跌跌撞撞中成长 成长是痛苦的 为了迎接新的开始 必须迈出这一步 就像老鹰...
    黄v路阅读 353评论 0 0