【问题标题】:saving / mirroring / crawling web pages that use javascript to generate content保存/镜像/爬取使用javascript生成内容的网页
【发布时间】:2009-03-24 23:07:47
【问题描述】:

我想下载使用 javascript 来输出数据的网页。 Wget 可以做其他所有事情,但运行 javascript。

甚至类似:firefox -remote "saveURL(www.mozilla.org, myfile.html)"

会很棒(不幸的是,这种命令不存在)。

【问题讨论】:

    标签: javascript browser web-crawler


    【解决方案1】:

    我会看看 selenium 浏览器自动化工具 (http://seleniumhq.org/) - 您可以自动访问网页,并保存生成的 HTML。

    我们在之前的项目中将它用于类似的目的,取得了巨大的成功。

    【讨论】:

      【解决方案2】:

      我赞同 Alex 对 Selenium 的建议。它在浏览器中运行,因此它可以在 Javascript 修改 DOM 后捕获输出 HTML。

      【讨论】:

        【解决方案3】:

        使用浏览器驱动的方法的问题是很难自动化抓取过程。

        在您最喜欢的编程语言中寻找“无头浏览器”。或者,您可以使用Jaxer 加载 DOM 服务器端,执行 JavaScript 并让它操作 DOM,然后使用您已经熟悉的相同 JavaScript 抓取修改后的 DOM。这将是我的首选方法。

        【讨论】:

          【解决方案4】:

          如果它可以是基于 Windows 的应用程序,您可以尝试使用任何编程语言(如 C#、Visual Basic、Delphi 等)的浏览器组件来加载页面,然后查看内容并保存。浏览器组件应基于 IE 渲染引擎,并应支持 JavaScript。有一个关于网站快照here 的问题。可能对你有点用处。

          或者,您可以考虑构建自己的 Firefox 扩展程序。查看here 了解更多详情(没有“下一步”按钮,只有左侧用于导航的菜单,起初让我感到困惑)。

          【讨论】:

            【解决方案5】:

            我在使用之前已经这样做了:

            【讨论】:

              猜你喜欢
              • 2015-04-02
              • 2023-04-07
              • 1970-01-01
              • 1970-01-01
              • 2011-02-19
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多