【问题标题】:Get document source after executes client scripts执行客户端脚本后获取文档源
【发布时间】:2013-12-21 00:00:12
【问题描述】:

对不起我的英语。

我想复制外部网站的全部源代码。我使用库 PHP Simple HTML DOM Parser。但是当我得到 souce 时,我得到的只是正文中的 JS 脚本。 我将如何获取网站的内容,然后能够在 javascript 使用正确的内容填充它之后选择 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>

谢谢!

【问题讨论】:

    标签: javascript php dom


    【解决方案1】:

    您需要使用无头浏览器,例如 phantom.jsslimer.js

    【讨论】:

    • 你能解释一下吗?如何从 php 访问无头浏览器?
    【解决方案2】:

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

    【讨论】:

    • 我认为他的意思是以编程方式
    【解决方案3】:

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

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

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

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

    【讨论】:

    • 实际上这不是“安全功能”,而是 PHP 的工作原理。如果你能看到 PHP 源代码,它就不会被执行。
    • 但也许我可以从 php 创建 POST 请求到“https://”+window.location.hostname+“/ajax/oficpaz.php”并获取文本,我可以在此页面中看到?
    猜你喜欢
    • 1970-01-01
    • 2020-07-12
    • 1970-01-01
    • 2016-04-01
    • 2015-07-17
    • 2014-11-06
    • 2018-05-25
    • 1970-01-01
    • 2016-09-12
    相关资源
    最近更新 更多