保存/镜像/抓取使用javascript生成内容的网页

时间:2009-03-24 23:07:47

标签: javascript browser web-crawler

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

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

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

5 个答案:

答案 0 :(得分:4)

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

我们在以前的项目中用它来取得相似的成功。

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

或者,您可以考虑构建自己的Firefox扩展。请查看here以获取更多详细信息(没有“下一步”按钮,左侧的菜单仅用于导航,最初让我很困惑。)

答案 4 :(得分:0)

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