2015-07-01 46 views
0

我正在尝试使用JSoup来解析通过Servlet生成的HTML文件。从我读过的内容来看,我需要申报一份文件。当我运行代码JSoup总是超时

Document doc = Jsoup.parse(URL,10000);

它总是超时,如果我增加超时时间,它会运行,直到它达到那个时间。当我放入Integer.MAX_VALUE时,它会永远运行。我在Macbook Pro上使用Google Chrome。

我的问题是:

这是我的电脑还是我做错了什么?

有没有办法解决这个问题或解析HTML页面的方法完全不同?

+0

请发布什么是链接给一点细节... –

回答

1

替代解决方案

由于Jsoup的文件中解释,如果你有一个可访问的URL比你能得到它的内容是这样的:如果你在一个字符串,这是有HTML

Document doc = Jsoup.connect("http://en.wikipedia.org/").get(); 

你应该如何对其进行解析:

document = Jsoup.parse(htmlString); 

如果你在一个本地文件具有HTML则:

Document doc = Jsoup.parse(new File("FilePath"), "UTF-8", "http://example.com/"); 

您的解决方案 您使用Jsoup解析器的方式是正确的,但问题是link或许如果你能提供有关的细节,然后我们就可以找出什么地方出了错。

确保您的Servlet生成的任何HTML都可访问,如果它是您的link应该是该Servlet的URL

+0

第一个没有工作,我的html在程序中生成,所以没有字符串,没有文件 – Kingston12

+0

让我们看看,生成输出的servlet,它映射到一些URL,如http:// localhost:8084/yourproject/someservletcall?如果是的话,你必须使用这个URL,你可以分享你的代码中的'link'是什么? –