0

我知道这里有几个屏幕抓取线程,但没有一个答案让我很满意。

我正在尝试使用 javascript 从外部网页中抓取 HTML。我正在使用 $.ajax,一切都应该可以正常工作。这是我的代码:

$.ajax({
    url: "my.url/path",
    dataType: 'text',
    success: function(data) {
        var myVar = $.get(url);
        alert(myVar);
    }
});

唯一的问题是它正在我的网络服务器中寻找指定的 url。如何使用代理访问外部网页?

4

1 回答 1

0

由于跨站点脚本限制,您必须将所需的 URL 传递到服务器上的页面,该页面将从服务器端查询相关 URL,然后将结果返回给您。查看下面的线程并将其合并到您的应用程序中,并在您的 AJAX 函数访问该页面时让它返回源代码。

如何在 Ruby 中获取网页的 HTML 源代码

使用 GET 请求将是传输要获取服务器的页面 URL 的最简单方法,因此您可以调用如下内容:

$.ajax("fetchPage.rb" + encodeURI(http://www.google.com))

因为您不能直接从服务器访问有问题的一侧,所以您将不得不通过代理通过管道传输服务器端脚本以使请求工作,这实际上取决于您的设置。看一下 Ruby 中的 Proxy 类:

http://ruby-doc.org/stdlib-1.9.3/libdoc/net/http/rdoc/Net/HTTP.html#method-c-Proxy

于 2012-09-21T17:46:53.153 回答