如何使用python抓取javascript生成的html?

时间:2010-04-25 04:06:58

标签: python

我想抓取javascript生成的html,就像你在Firebug中看到的一样。

更新: 我发现这篇文章:http://blog.motane.lu/2009/07/07/downloading-a-pages-content-with-python-and-webkit/使用PyQt解决问题,对我来说效果很好。

但是出现了另一个问题:我必须首先登录网站,但我不知道如何在PyQt中模拟登录...... :(

3 个答案:

答案 0 :(得分:5)

查看this article,其中介绍了在浏览器执行Javascript后使用Windmill来抓取页面。

  

本文将展示如何在不使用HTML直接编写网页时使用相同的三个步骤提取所需信息,而是使用JavaScript自动生成以更新DOM树。

他们有一些例子,我相信你很容易适应。

答案 1 :(得分:0)

准确地说,术语,Javascript不会生成HTML。 Javascript在您的浏览器中生成并操作DOM。 Firebug向您展示该DOM的HTML表示,以便它可读。 HTML实际上并不存在。 :)

我认为不存在开箱即用的简易解决方案。你可能想看看有this blog post and comments的指针。

答案 2 :(得分:0)

你可以使用python spidermonkey,它是Firefox引擎的python包装器:http://code.google.com/p/python-spidermonkey/

但该项目似乎有点不成熟。