我可以在Python中找到javascript的结果吗?

时间:2011-10-15 23:40:32

标签: javascript python django urllib pyjamas

我现在正在制作网络抓取工具。

从HTML获取链接很容易,但从javascript结果中获取链接对我来说并不容易。

我可以获取javascript的结果,以便知道链接的引用位置吗?

例如。

如何从Python中的javascript代码中检索google.com的链接?

<!DOCTYPE html>
<html lang="en">
    <head></head>
    <body>
        <a href="#" id="goog">to google</a>
    </body>
    <script>
        document.getElementById('goog').onclick = function() {
            window.location = "http://google.com";
        };

    </script>
</html>

2 个答案:

答案 0 :(得分:1)

您需要安装node.js并运行一段单独的代码,在上下文中执行Javascript代码以发出html。这可以使用jsdom,但关键是从HTML页面中提取Javascript代码,并正确设置上下文。

答案 1 :(得分:0)

Python没有提供执行Javascript的方法,这可能是一项大任务,甚至可能不是你想要的,因为你不会知道如何执行所有适当的Javascript。

对于您展示的代码,您可以简单地对整个事物进行正则表达式以从中获取类似URL的字符串,但这可能非常特别且容易出错。