如何使用jsoup抓取动态网站?

问题描述 投票:0回答:3

我想用 jsoup 抓取一个网站。该网站是动态,每秒左右更新一次。我很确定它使用了 jQuery,它更新了 HTML 中的一些

<span>
标签。我正在使用 jsoup,但动态区域是空白的。

jsoup 有什么特别的东西可以解决这个问题还是有限制?

编辑:我计划将其放入我网站上的 Java 小程序中。

java applet jsoup
3个回答
5
投票

听起来您希望 JSoup 表现得像一个支持 JavaScript 的浏览器。 恐怕这行不通。 JSoup 是一个可以执行 HTTP 请求,然后使用响应正文进行有用操作的工具。

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


4
投票
  1. Selenium WebDriver在真实浏览器中打开页面
  2. 使用 Selenium WebDriver API 寻址元素并获取其内容 - 您甚至可以在页面上下文中调用 JS 代码
  3. 用 JSoup 等解析

2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.