开发者社区> 问答> 正文

JSoup 直接抓取 URL 时对内容长度限制的解决办法:报错

JSoup 不只是一个 HTML 的解析器,它自带的 HTTP 客户端包非常好用,而且很简单,至少比 HttpClient 要简单好多。

但是在使用过程中发现在读取一些内容很大的不管文本或者图片时都会被截断。净研究发现默认 JSoup 的限制是 1024*1024,也就是 1M 的大小。

因此我们需要在连接时设置一下 maxBodySize ,具体方法如下:

Document = Jsoup.connect(url)
    .header("Accept-Encoding", "gzip, deflate")
    .userAgent("Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0")
    .maxBodySize(0)
    .timeout(600000)
    .get();

设置为 0 表示不限制大小,不过谨慎使用哦:)

展开
收起
kun坤 2020-06-07 20:06:20 798 0
1 条回答
写回答
取消 提交回答
  • @红薯 最近在写爬虫??

    ######

    Jsoup,解决不了,由Js延迟生成的界面。举例:一个界面先加载了部分资源,之后由JS生成内部的div内容。

    各位可有好办法?

    ######有,但是就不告诉你######回复 @两广总督bogang : 好的,我试试######htmlUnit+Jsoup######谢谢。######这个其他库也解决不了######

    HtmlUnit页面渲染 

    2020-06-07 20:06:25
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载