我可以使用Firebug或其他调试器检查任何Javascript生成的DOM。 Firebug还允许我以交互方式将生成的任何元素的innerHTML复制到剪贴板上,以便将其保存到磁盘上。
是否有允许以编程方式执行这些交互式任务的系统/工具?这样的工具/插件应该能够读取Javascript生成的DOM并以编程方式将其保存到磁盘。
答案 0 :(得分: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())