java从网页抓取数据(我试图使用JavaServlet从网页上抓取数据,但是我发现页面已压缩)
优采云 发布时间: 2022-03-21 17:01java从网页抓取数据(我试图使用JavaServlet从网页上抓取数据,但是我发现页面已压缩)
我正在尝试使用 Java Servlet 从网页中抓取数据,但我发现该页面已被压缩。因此,当我执行 URLConnection 时,它会调用下载 zip 文件。
谁能帮我解决这个问题?实际上,我将访问数千个这样的页面,使用 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();
}
最佳答案
你可以试试:
GZIPInputStream ginstream =new GZIPInputStream(conn.getInputStream());
其余的和你的代码一样。
关于 java - 如何使用 Java 从 .html.gz 网页中提取内容? ,我们在 Stack Overflow 上发现了一个类似的问题: