簡體   English   中英

如何使用Javascript或JQuery獲取頁面內容

[英]How to get page content using Javascript or 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()的簡短形式...

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

盡管以上所有這些因素,您最好將URL發送到服務器並完全在服務器端進行,這會減少工作量。 如果您打算以他們看到的方式查看客戶的頁面...那么這正是防止同源政策的地方,例如,如果不是文章,而是客戶的網上銀行怎么辦? 您可以看到為什么禁止這樣做的原因:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM