我正在尝试使用 JSoup 来解析我通过 Servlet 生成的 HTML 文件。据我所知,我需要声明一份文件。当我运行代码时
Document doc= Jsoup.parse(URL, 10000);
它总是超时,如果我增加超时时间,它将运行直到达到该时间。当我输入 Integer.MAX_VALUE 时,它会永远运行。我正在 MacBook Pro 上使用 Google Chrome。
我的问题是:
这只是我的电脑还是我做错了什么?
有没有办法解决这个问题,或者有办法解析完全不同的 HTML 页面吗?
最佳答案
替代解决方案
正如 Jsoup 文档中所解释的,如果您有一个可访问的 URL,则可以通过这种方式获取其内容:
Document doc = Jsoup.connect("http://en.wikipedia.org/").get();
如果字符串中有 HTML,则应该这样解析它:
document = Jsoup.parse(htmlString);
如果本地文件中有 HTML,则:
Document doc = Jsoup.parse(new File("FilePath"), "UTF-8", "http://example.com/");
您的解决方案
您使用 Jsoup 解析器的方式是正确的,但问题出在 link
上,也许如果您可以提供有关它的详细信息,那么我们就可以找出问题所在。
确保您的 Servlet 生成的任何 HTML 都可以访问,如果您的链接
应该是该 Servlet 的URL
。
关于java - JSoup总是超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31151369/