首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JSOUP java.io.IOException:输入是二进制的,不受支持

JSOUP java.io.IOException:输入是二进制的,不受支持
EN

Stack Overflow用户
提问于 2020-01-10 06:44:37
回答 1查看 1.8K关注 0票数 2

我有一个项目,要求我使用JSOUP进行网络抓取。我能够从我想要刮的网站主页上得到数据。但是,当我通过循环进入超链接并访问它而在页面中更深入地抓取时,我会得到以下错误:

代码语言:javascript
复制
java.io.IOException: Input is binary and unsupported
    at org.jsoup.UncheckedIOException.<init>(UncheckedIOException.java:11)
    at org.jsoup.parser.CharacterReader.<init>(CharacterReader.java:38)
    at org.jsoup.parser.CharacterReader.<init>(CharacterReader.java:43)
    at org.jsoup.parser.TreeBuilder.initialiseParse(TreeBuilder.java:38)
    at org.jsoup.parser.HtmlTreeBuilder.initialiseParse(HtmlTreeBuilder.java:65)
    at org.jsoup.parser.TreeBuilder.parse(TreeBuilder.java:46)
    at org.jsoup.parser.Parser.parseInput(Parser.java:35)
    at org.jsoup.helper.DataUtil.parseInputStream(DataUtil.java:169)
    at org.jsoup.helper.HttpConnection$Response.parse(HttpConnection.java:835)
    at org.jsoup.helper.HttpConnection.get(HttpConnection.java:285)

当我检查网站,有部分网站,其中包含评论二进制数据,我认为它造成了问题。我试过使用以下代码:

代码语言:javascript
复制
Document docs2 = Jsoup.connect("https://www.kiatravels.co.id/group_tour/index?TOUR_ID=1467&ID=15803").ignoreContentType(true).get();

但还是没用。

希望一些聪明的代码大师能帮上忙!

EN

Stack Overflow用户

发布于 2020-01-12 05:24:28

它看起来像是您导航到“下载行程”链接,它打开一个pdf。在使用Jsoup解析链接之前,您需要检查url响应的内容类型。

代码语言:javascript
复制
Connection.Response res = Jsoup.connect(url).execute(); 
String contentType = res.contentType();

您可能想忽略不属于MIME类型text/html

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59676670

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档