我可以使用Firebug或其他调试器检查任何Javascript生成的DOM。Firebug还允许我以交互方式将任何元素生成的innerHTML复制到剪贴板上,这样我就可以将其保存到磁盘上。
是否有系统/工具允许以编程方式执行这些交互式任务?这样的工具/插件应该能够读取Javascript生成的DOM,并以编程方式将其保存到磁盘。
发布于 2012-01-07 00:06:37
我不知道任何现有的工具可以让您做到这一点,所以您可能需要编写自己的脚本来解决此任务。
您当然可以使用像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())https://stackoverflow.com/questions/8760636
复制相似问题