假设我有一段JavaScript代码,从PHP中接收包含整个HTML页面的字符串。我将该字符串写入当前文档,然后更改其中一个包含元素。代码示例如下:
这给我带来了理想的输出,一切看起来都很棒……除非你查看此页面的源代码。如果我想以后爬取此页面并执行相同的操作,则会显示JavaScript而不是浏览器解释的HTML。使用此方法,我应该如何爬取所需的HTML,而不是由JavaScript生成的HTML?我已经通过在PHP中处理字符串来绕过此问题,但是我仍然好奇是否可能以这种方式显示解释后的HTML,而在查看源代码/爬取页面时。
编辑: 全面的回复,让我学到了很多关于实际发生的情况和应该避免的做法。在与我的原始问题相关的方面中,最简单的解决方案是Justin Wood提供的方案。
<script type="text/javascript">
var foo = <?php echo $html_document;?>;
document.open();
document.write(foo);
document.close();
document.getElementById("some_id_within_html_document").innerHTML = "some stuff";
</script>
这给我带来了理想的输出,一切看起来都很棒……除非你查看此页面的源代码。如果我想以后爬取此页面并执行相同的操作,则会显示JavaScript而不是浏览器解释的HTML。使用此方法,我应该如何爬取所需的HTML,而不是由JavaScript生成的HTML?我已经通过在PHP中处理字符串来绕过此问题,但是我仍然好奇是否可能以这种方式显示解释后的HTML,而在查看源代码/爬取页面时。
编辑: 全面的回复,让我学到了很多关于实际发生的情况和应该避免的做法。在与我的原始问题相关的方面中,最简单的解决方案是Justin Wood提供的方案。