如何使用Jsoup抓取gzip压缩文件?

时间:2015-06-17 17:11:05

标签: java jsoup

我正在尝试从html文件中获取内容,该文件位于html.gz文件中。 当我尝试使用Jsoup点击URL时,我得到了:

  

线程中的异常" main" java.io.EOFException:意外结束   ZLIB输入流在   java.util.zip.InflaterInputStream.fill(InflaterInputStream.java:240)     在   java.util.zip.InflaterInputStream.read(InflaterInputStream.java:158)     在java.util.zip.GZIPInputStream.read(GZIPInputStream.java:116)at   java.io.BufferedInputStream.read1(BufferedInputStream.java:273)at   java.io.BufferedInputStream.read(BufferedInputStream.java:334)at   java.io.FilterInputStream.read(FilterInputStream.java:107)at   org.jsoup.helper.DataUtil.readToByteBuffer(DataUtil.java:154)at at   org.jsoup.helper.HttpConnection $ Response.execute(HttpConnection.java:560)     在   org.jsoup.helper.HttpConnection $ Response.execute(HttpConnection.java:493)     在org.jsoup.helper.HttpConnection.execute(HttpConnection.java:205)     在org.jsoup.helper.HttpConnection.get(HttpConnection.java:194)at   org.jsoup.Jsoup.parse(Jsoup.java:183)

我的代码如下:

Document doc= Jsoup.connect("http://XXXXXXX_BIZ_Jun17_10:02:17.html.gz").get();

1 个答案:

答案 0 :(得分:0)

第1步

尝试手动下载压缩文件。然后尝试使用像7zip这样的工具打开它。这样您就可以检查html.gz文件是否有效。

  • 如果文件无效那么Jsoup不是罪魁祸首,停止

  • 如果文件有效,请跳至第2步

第2步

启动您喜爱的浏览器并在“网络”标签上打开其开发者控制台。下载html.gz文件并观察浏览器交换的标头。 将您可能错过的标题添加到代码中。