0

我试图使用 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();
        }
4

1 回答 1

2

Can you try this:

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

The rest is same as your code.

于 2013-05-24T21:33:28.790 回答