1

我需要使用 JavaScript 获取页面的 html 内容,该页面也可以在另一个域上,类似于 wget 的功能,但在 JavaScript 中。我想将它用于一种网络爬虫。

使用 JavaScript,如果我有一个 URL,我如何获取页面的内容并将其转换为字符串?

4

3 回答 3

1

通过 JavaScript 通过 HTTP 加载内容的一般方法是使用 XMLHttpRequest 对象。这受制于同源策略,因此要访问其他域上的内容,您必须绕过它

这假设您在 Web 浏览器中运行 JS(暗示“该页面也可能在另一个域上”)。如果您不是,那么其他选择将向您开放。例如,对于nodejs ,您可以使用它拥有的 http 客户端

于 2012-10-23T11:57:30.973 回答
1

试试这个:

function cbfunc(html) { alert(html.results[0]); }
$.getScript('http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22' + 
encodeURIComponent(url) + '%22&format=xml&diagnostics=true&callback=cbfunc');

演示

更多关于YQL

于 2012-10-23T11:59:14.283 回答
0

如果您还想捕获 hmtl 标签,您可以将它们连接到 html,如下所示:

 function getPageHTML() {
       return "<html>" + $("html").html() + "</html>";
    }

如何使用 jQuery 获取整个页面的 HTML?

于 2012-10-23T12:06:00.253 回答