2012-07-02 163 views
1

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

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

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

有没有人知道解决这个问题的方法?我使用正确的工具箱吗?更有经验的人,我出价你的建议。

+0

*“抓取一些网站内容” *,这是什么内容的例子网址是什么? –

+0

找到一个名为“Fiddler”或类似的Firefox扩展的包,该扩展将显示在页面通过Ajax加载后需要询问哪些信息。这将显示页面重新加载时传递的秘密URL或会话信息。 – Skizz

回答

4

您需要检查,如果你爬需求的网站一些此列表的显示所有内容:

  • 认证与登录/密码
  • 某种会话验证的HTTP头
  • Cookies
  • 加载所有内容的某种时间延迟(Javascript库,CSS和异步数据可能需要这些)。
  • 特定的用户代理浏览器
  • 代理密码,例如,如果您在法人网络安全配置中。

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

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