首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何以编程方式读取Javascript生成的DOM?

如何以编程方式读取Javascript生成的DOM?
EN

Stack Overflow用户
提问于 2012-01-07 00:01:22
回答 1查看 318关注 0票数 1

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

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-01-07 00:06:37

我不知道任何现有的工具可以让您做到这一点,所以您可能需要编写自己的脚本来解决此任务。

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

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

代码语言:javascript
复制
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())
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8760636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档