【发布时间】:2017-09-24 15:49:07
【问题描述】:
JavaScript 无法获取任意页面的源代码,我最后才知道。但是PHP可以很容易。
//get page source code with php
<?php
url = 'http://www.thesaurus.com/browse/strong?s=t';
$src = file_get_contents($url);
?>
PHP 不擅长处理 DOM,但 jQuery 非常适合!
我想做类似的事情
//manipulate source code with javascript
<script>
html = '"' + <?php echo $src;?> + '"';
listItems = $(html + " li");
printLists = '';
$.each(listItems, function(ind, el) {
printLists += el.innerHTML + "<br/>";
});
document.write(printLists);
</script>
但是,每当我将$src 回显到脚本标记中时,它都会立即被解释为 HTML,并且该页面成为对实际站点的实时嘲弄。
//Actually just shows me thesaurus.com@strong
<body>
<div id="holder" style="display: none;"></div>
<script>
holder = $("#holder");
nodeNames = [];
html = $.parseHTML(<?php echo $src;?>, holder, false);
</script>
</body>
“虚拟 DOM”这个词听起来不错,但我真的不希望任何复制的源代码出现。我只想提取其中的某些部分:从控制台运行脚本,在几个词库站点中搜索一个术语,获取结果,并将它们保存到本地词库脚本访问的 JSON 中。
我对如何做其他所有事情都有一个扎实的想法,没想到这是棘手的部分!
关于阻止浏览器解析 HTML 有什么建议吗?
(无论如何,我希望它在没有浏览器的情况下作为脚本文件运行,但在 thesaurus.js 文件中加载 jQuery 时遇到问题。)
【问题讨论】:
标签: javascript php jquery dom html-parsing