1

我可以使用 Firebug 或其他调试器检查任何 Javascript 生成的 DOM。Firebug 还允许我以交互方式将生成的任何元素的 innerHTML 复制到剪贴板上,以便我可以将其保存到磁盘。

是否有允许以编程方式执行这些交互式任务的系统/工具?这样的工具/插件应该能够读取 Javascript 生成的 DOM 并以编程方式将其保存到磁盘。

4

1 回答 1

1

我不知道任何现有的工具可以让您执行此操作,因此您可能需要编写自己的脚本来解决此任务。

你当然可以使用像Selenium这样的库来实现这一点。使用它,您甚至可以选择要使用哪个浏览器来呈现网站。

如果你在 Linux 上运行,我也可以为此推荐我自己的项目webkit-scraping(当然这个推荐有点偏颇;)。它使用内存中的 Webkit 实例来呈现页面并在其中执行 Javascript。使用 编译服务器后cd webkit-server && qmake && make,您可以在 Python 中执行以下操作:

import os, sys

sys.path.insert(0, '/path/to/webkit-scraping/lib')
import webkit_scraping

URL = 'http://example.org'
OUTFILE = '/tmp/example.html'

if __name__ == '__main__':
  # set up a web scraping session
  driver = webkit_scraping.webkit_server.Driver()
  sess = webkit_scraping.scraping.Session(driver = driver)
  sess.visit(URL)

  with open(OUTFILE, 'wb') as f:
    f.write(sess.body())
于 2012-01-06T16:06:37.377 回答