如何在启用javascript的情况下解析html?

时间:2014-07-14 19:22:36

标签: php parsing html-parsing

我尝试了一些最知名的html解析器,如simpletestsimplehtmldomdomdocument

但它们都没有解析javascript。我知道javascript是客户端语言,只能在浏览器中执行所以,我想知道是否有一个网站提供免费api进行html解析启用javascript(你发送它们html源代码,它们在执行页面中的所有javascripts之后返回源代码

2 个答案:

答案 0 :(得分:1)

你想要达到什么目的?

对于无头测试和自动化等工作,PhantomJS应该做好。您甚至可以下载页面,在页面上执行JS,然后将其转换为PNG。但它不是API,它是一个必须在本地安装的程序: - )

答案 1 :(得分:0)

你希望通过javascript更改后显示html的内容 - 除非我不正确地理解,否则这只是一个浏览器。

尝试使用所选浏览器打开文档:它将加载所有html,并执行函数中未包含的任何javascript。您可能只希望在HTML加载完成后执行javascript,因此您可以在页面底部放置一个脚本标记

或者,或许更好的做法,尝试设置初始化函数,在页面加载完成后调用。

<html>
    <head>
    <script>
        function init(){
            // resize page depending on pixels or something
        }
    </script>
    </head>
    <body onLoad="init()">

    </body>
    <script>
    // javascript goes here
    </script>
</html>

如果您正在寻找某种调试,那么有一些选项,包括浏览器中的选项。

Chrome

Firefox