1

我试图爬取一些网站内容,使用jsoup和 java 组合。将相关详细信息保存到我的数据库并每天进行相同的活动。

但这是交易,当我在浏览器中打开网站时,我得到呈现的 html(所有元素标签都在那里)。我测试它的javascript部分,它工作得很好(我应该用来提取正确数据的那个)。

但是当我使用 jsoup(来自 Java 类)进行解析/获取时,只会下载初始网站进行解析。这意味着网站有一些动态部分,我想获取这些数据,但由于它们是在获取后呈现的,因此在网站上异步呈现,我无法使用 jsoup 捕获它。

有人知道解决这个问题的方法吗?我是否使用了正确的工具集?更有经验的人,我出你的意见。

4

1 回答 1

4

您需要先检查您要抓取的网站是否需要此列表中的某些内容才能显示所有内容:

  • 使用登录名/密码进行身份验证
  • HTTP标头上的某种会话验证
  • 饼干
  • 加载所有内容的某种时间延迟(大量使用 Javascript 库、CSS 和异步数据的站点可能需要这样做)。
  • 特定的用户代理浏览器
  • 例如,如果您在公司网络安全配置中,则为代理密码。

如果需要此列表中的任何内容,您可以在 jsoup.connect() 中提供参数来管理该数据。请参考官方文档。

http://jsoup.org/cookbook/input/load-document-from-url

于 2012-07-02T15:06:58.917 回答