我正在抓取一个网站的源代码。
我的第一次打印打印出了完整的源代码。
然后,第二次打印将一个实际的DOM打印到控制台,但由于某种原因,文档的内容只是略有变化。
让我困扰的是<body>
标签不见了,我不知道为什么。
我刚刚意识到<head>
标签也不见了。所以这可能有一个很好的理由。
需要说明的是:<head>
和<body>
标记的内容都保留在容器中。只是标签本身消失了,而不是它们的内容。
我希望将整个源代码解析为一个可访问的DOM。
这是代码:
$.ajax({url: url, dataType: "text", success: function(data) {
console.log("data:", data);
var htmlDocument = $("<html>").html(data)[0];
console.log("htmlDocument:", htmlDocument);
}});
我是JavaScript新手,感谢您的帮助。我很想了解这个问题,但现在我真的只想让它发挥作用。
正如Charlietfl所说的
请注意,jQuery
.html()
删除了body
和head
尝试
$('html')[0].outerHTML
或
document.documentElement.outerHTML
点击此处查看更多信息:如何获取整个页面';使用jQuery的HTML?