在执行客户端脚本后获取文档源

Get document source after executes client scripts

本文关键字:获取 文档 脚本 执行 客户端      更新时间:2024-02-24

对不起我的英语。

我想复制一个外部网站的全部源代码。我使用库PHP简单HTML DOM解析器。但当我得到souce时,我得到的只是和体内只有JS脚本。我该如何获得网站的内容,然后在javascript用正确的内容填充div内容后选择div内容?也许我可以在我身边执行这个JS代码?

本页代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml">    
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <meta http-equiv="Content-Style-Type" content="text/css" />
    <meta http-equiv="Content-Script-Type" content="text/javascript" />
    <title>...</title>
    <link href="shared/css/print.css" rel="stylesheet" type="text/css" />
    <link href="css/tv.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
</head>
<body style="background-color:#fff;padding-left:10px;padding-right:10px;">
<script>
jQuery.ajax({
    type: "POST",
    url: "https://"+window.location.hostname+"/ajax/oficpaz.php",
    data: "do=js&sess=o3vjro76847f1e2uqebqr904a6&id=262575",
    success: function(data){
        jQuery("body").html(data);
    }
});
</script>
</body>
</html>

谢谢!

您需要使用象phantom.js或slimer.js这样的无头浏览器。

如果您正在使用firefox,请尝试选择页面上的所有文本,然后右键单击->查看选择源。

首先,确保您直接复制他人代码不会侵犯版权或知识产权。

其次,这个页面上有AJAX,这意味着你可以复制脚本,但正如你所看到的,它发布到一个php页面,该页面可能包含也可能不包含HTML和JavaScript,你可以复制,但你将无法看到任何php脚本,因为这是在服务器端执行的。

这是php的一个安全特性。如果你能够看到php脚本,你也将能够看到网站的数据库结构和任何密码和加密密钥等。

所以回答你的问题。不,您将无法通过在浏览器中查看源代码来复制php脚本。您需要访问服务器才能下载php文件,然后才能从中进行复制。