3

我想用 JSoup 抓取一个网站。这个网站是动态的,大约每秒更新一次。我很确定它使用 JQuery,它会更新 HTML 中的一些标签。我正在使用 JSoup,但动态区域是空白的。JSoup 有什么特别的东西可以解决这个问题吗?或者这是一个限制?编辑:我打算把它放在我网站上的 Java 小程序中。

4

3 回答 3

4

听起来您希望 JSoup 表现得像一个支持 JavaScript 的浏览器。恐怕这行不通。JSoup 是一个可以执行 HTTP 请求的工具,然后将响应体用于一些有用的事情。

这个“有用的东西”是从响应中的 (X)HTML 文本中提取信息。如果您想在加载注入 JavaScript 的 HTML 页面(=动态网页)之后获取后续 ajax-request 的内容,您需要自己建模这些后续请求并指示 JSoup 为您手动执行这些请求。

于 2013-02-10T21:04:11.013 回答
2
  1. Selenium WebDriver 在真实浏览器中打开页面
  2. 使用 Selenium WebDriver API 处理元素并获取其内容 - 您甚至可以在页面的上下文中调用 JS 代码
  3. 用JSoup等解析
于 2013-02-11T01:27:14.097 回答
1

HTMLUnit 是一个基于 java 的无窗口浏览器,它支持我在一些报废项目中使用过的 javascript,它运行良好,有时在大型操作中有点慢。它还支持代理。 http://htmlunit.sourceforge.net/

于 2013-10-31T02:41:09.787 回答