如何使用Java从.html.gz网页中提取内容?

时间:2013-05-24 21:04:18

标签: java gzip

我试图使用Java Servlet从网页中抓取数据,但我发现该页面已被压缩。因此,当我进行URLConnection时,它会调用以下载压缩文件。

任何人都可以帮我吗?实际上,我将访问1000个这样的页面,使用DOM解析表数据并填充数据库以查询某些文本单词,并显示结果。所以我想知道这是否会使这个过程太慢。

有没有办法在不下载文件的情况下执行此操作?任何建议将不胜感激。谢谢。

try{

        URL url = new URL("example.html.gz");
        URLConnection conn = url.openConnection();

         //FileInputStream instream= new FileInputStream(???What do I enter???);
         //GZIPInputStream ginstream =new GZIPInputStream(instream);
        conn.setAllowUserInteraction(false);
        InputStream urlStream = url.openStream();
        BufferedReader buffer = new BufferedReader(new InputStreamReader(urlStream));

        String t = buffer.readLine();
        while(t!=null){
            temp = temp + t ;
            t = buffer.readLine();
        }

1 个答案:

答案 0 :(得分:2)

你可以试试这个:

GZIPInputStream ginstream =new GZIPInputStream(conn.getInputStream());

其余部分与您的代码相同。