我正在尝试找出以 url 作为输入参数在 Java 中获取网页内容的最可靠方法?
我尝试过的事情是:1. JSOUP 2. HtmlUnit 3. URL 和 URLConnection
1 和 2 的问题是它们有时会抛出 SocketTimeoutException 或行为不可预测,即使可以获取页面的内容(即使 robots.txt 允许)。
使用 3 我无法在不使用毫秒减法的情况下获得 loadTime。这是最大的问题,它会产生不准确的结果。为了获取内容,我需要使用 Streams 并逐行阅读内容。
当前实现使用方法#2。它具有 LoadTime 和 contentType 的能力。
对于每个网页的内容,我需要 contentType、loadTime 等。
基本上它是用于验证整个网站的链接验证器项目,包括 css 的背景图像以及图像、js、html 等,因此基于 contentType I 过滤并仅解析 HTML 的内容。
PS 提高超时时间超过 9 秒会使链接验证变慢。所以我当前的超时时间是 9 秒。
我需要帮助,因为我想让我的链接验证工具尽可能可靠。