【问题标题】:Advice with crawling web site content爬取网站内容的建议
【发布时间】:2012-07-02 22:21:49
【问题描述】:

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

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

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

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

【问题讨论】:

  • “抓取一些网站内容”此内容的示例 URL 是什么?
  • 为自己找到一个名为“Fiddler”的包或类似的 Firefox 扩展,它会显示在通过 Ajax 加载页面后要求提供的信息。这将显示页面重新加载时传递的秘密 URL 或会话信息。

标签: java web web-crawler web-scraping jsoup


【解决方案1】:

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

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

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

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

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 1970-01-01
    • 2016-10-10
    • 1970-01-01
    • 2012-09-24
    • 2019-07-19
    • 1970-01-01
    • 1970-01-01
    • 2012-12-08
    相关资源
    最近更新 更多