6

我在 Jsoup 中处理的一些网页很重。“重”是指页面要么包含大量 HTML(假设页面已经下载),要么需要对同一个文档进行多次迭代(仅通过Jsoup.parse()创建一次)。

出于这个原因,我想向用户展示一个进度条,其中估计还剩多少时间。

一种方法是仅测量 HTML 的体积(以 KB 或 MB 为单位)并得出一个速度因素(不幸的是,完全取决于运行此代码的系统的速度)。

另一种方法是计算节点数

由于这种明显的不确定性,我是在找麻烦吗?

有更好的方法来处理这个问题?

4

2 回答 2

1

总结到目前为止的答案:不,不可能估计或预测一块 HTML 的 Jsoup 处理时间。

原因是,除了Jsoup.parse()耗时的组件之外,Jsoup 可以在许多平台/设备上运行,有些非常慢,有些非常快,而且 Jsoup 无法(等待)关联其处理阶段/操作及其运行的架构。

于 2012-10-19T14:52:46.373 回答
0

我要告诉你尝试的是:

long start = System.currentTimeInMilis();
//Processing
long end = System.currentTimeInMilis();

long timeToProcess = end - start;

但我真的认为这是没用的,因为你依赖于页面服务器、互联网速度、处理能力。有太多的事情可以预测。另外... Jsoup 选择器 API 非常。另外..连接所需的时间是更长的等待时间。你真的无法预测。希望有帮助

于 2012-07-02T11:39:57.837 回答