我试图使用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();
}
答案 0 :(得分:2)
你可以试试这个:
GZIPInputStream ginstream =new GZIPInputStream(conn.getInputStream());
其余部分与您的代码相同。