如何使用Javascript或JQuery获取页面内容

我将在远程页面上有一个小部件。 在小部件中,我希望javascript或jquery从网页上获取所有文章内容并将其发送回我的网站。 我只需要文章内容而不是网页上的所有其他信息。 我希望脚本能够发送远程网页url,页面内容,标题文本和h1文本。 我不想收到任何HTML标签。 这可能吗?

我正在制作的剧本就像google adsense。 另外,我会使用c#作为我的后端服务器

会有类似的工作吗? http://blog.nparashuram.com/2009/08/screen-scraping-with-javascript-firebug.html

我的建议,如果没有太多的数据将是使用信标。

var beac = new Image(); beac.onload = function () { //do somethiringng on completion } beac.src = "youdomain/somthing.php?var=asdasd&key=someUniqueString"; 

这允许您将适量的数据发送到另一个域上的服务器,前提是您不需要任何其他内容。

总之,你不能这样做,至少不是你想象的方式。 出于安全原因,存在同源策略 ,阻止您向另一个域发出请求。

您最好的选择是在您的服务器上执行此操作并向其发出请求。 我不能说你如何在服务器上执行此操作,因为你的问题不包括你所使用的框架,但是让我们说它是PHP,然后你有那个页面带一个URL,或者你有什么东西可以从中生成URL,然后返回包含您列出的属性的JSON对象。 jQuery部分看起来像这样:

 $("a").click(function() { $.ajax({ url: 'myPage.php', data: { url: $(this).attr("href") }, dataType: 'json', success: function(data) { //use the properties, data.url, data.content, data.title, etc... } }); }); 

或者,使用$.getJSON()的简短forms…

  $.getJSON('myPage.php', { url: $(this).attr("href") }, function(data) { //use the properties, data.url, data.content, data.title, etc... }); 

所有上述情况都没有,你最好将URL发送到服务器并完全在服务器端执行,这样做的工作就会少一些。 如果您的目标是查看客户的页面,那么他们就会看到它……这正是相同来源政策的目的,以防止,例如,如果不是文章而是他们的网上银行呢? 你可以看到为什么这是禁止的:)