HtmlUnit的替代品

Nay*_*ayn 20 screen-scraping web-crawler htmlunit headless-browser

我一直在研究迄今为止可用的无头浏览器,并发现HtmlUnit被广泛使用.与HtmlUnit相比,我们有什么替代HtmlUnit可能具有优势吗?

谢谢Nayn

Ahm*_*our 7

据我所知,HtmlUnit`是最强大的无头浏览器.

你有什么问题?

  • 你可以使用`webClient.setThrowExceptionOnScriptError(false);`来有效地忽略Javascript错误. (6认同)
  • HtmlUnit有两个杀手级功能:1.它独立于o/s 2.它不使用"真正的"浏览器作为后端.因此,在应用程序部署方面存在零配置且没有意外.而且它的工作做得很好. (3认同)
  • 主要问题是它有时会使网页与真实浏览器中的网页不同.它还改变了页面/标签结构.另外我想执行javascript与HtmlUnit有一些问题 (3认同)
  • HtmlUnit是对blog.com的无奈fg.它崩溃任何JavaScript错误,无法加载fg wordpress.com,因为gravatar JavaScript在我的网络中被阻止. (2认同)

小智 5

您可以使用许多其他库.

  • 如果需要刮取xml基础数据,请使用JTidy.
  • 如果您需要从HTML中抓取特定数据,可以使用Jsoup.

好吧,我使用jsoup - 它比任何其他API快得多.

  • Jsoup很棒,但我想不能基于AJAX请求抓取网站.如果它是关于点击元素并等待其他html代码出现并评估它,恕我直言,它不是一个替代品. (3认同)

Nay*_*ayn 3

我将在我的用例中使用 Selenium,因为它使我能够使用真正的浏览器,并且与 HtmlUnit 相比,它与现实世界中呈现的内容没有任何偏差。我计划使用 Selenium2,它具有 WebDriver 集成并提供出色的 API 和很酷的修复。谢谢奈恩

  • 这也是我推荐的。htmlunit 的 javascript 引擎似乎在现实世界的网站上经常崩溃。 (2认同)