我现在正在制作网络抓取工具。
从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>
答案 0 :(得分:1)
您需要安装node.js并运行一段单独的代码,在上下文中执行Javascript代码以发出html。这可以使用jsdom
,但关键是从HTML页面中提取Javascript代码,并正确设置上下文。
答案 1 :(得分:0)
Python没有提供执行Javascript的方法,这可能是一项大任务,甚至可能不是你想要的,因为你不会知道如何执行所有适当的Javascript。
对于您展示的代码,您可以简单地对整个事物进行正则表达式以从中获取类似URL的字符串,但这可能非常特别且容易出错。