身體

2014-09-01 32 views
1

搜索關鍵字我使用AJAX調用從外部URL獲取HTML:身體

var uriData = $.ajax({ url: 'http://www.example.com', success: function(data) { alert(data); } }); 

這工作正常。我得到一個外部網站的HTML警報。

是否有一種簡單的方法來搜索關鍵字並計算它在文本中或html-body的標題中的數量?

我試着這樣說:

HTML

<input id="url" type="text" name="url"> 
<input id="keyword" type="text" name="keyword"> 

SCRIPT

function keyWords() { 
    var website = jQuery('#url').val(); 
    var keyword = jQuery('#keyword').val(); 

    jQuery.ajax({ url: website, success: function(data) { 
    var sumKeyword = data.split(keyword).length - 1;  
    alert (sumKeyword); } 
    }); 
}; 

但不幸的是,他會搜索整個HTML的關鍵字。 (對於如也阿克爾文本等)。最後,我想在標題和文本關鍵詞的數量(P,跨度等)

+1

您可以將身體的一部分匹配 「 ...」 with match data.match(/ (。*)<\/body> /) – 2014-09-01 09:57:00

+0

能不能包括de返回的html樣本?你指的是標題 - html中沒有這樣的元素。 – Kami 2014-09-01 10:00:25

回答

2

這裏有一段代碼,可能激發你解決你的問題

var data='<span id="url" type="text" name="url">test this test</span>'; 
    var message = $('<div/>').append(data).find("span:contains('test')").each(function(){ 

     var sumKeyword = $(this).text().split("test").length - 1; 
     alert (sumKeyword); 

    }); 

jsfiddle

1

您可以與匹配功能做到這一點:

jQuery.ajax({ url: website, success: function(data) { 
    var body = data.match(/<body>(.*)<\/body>/)[1]; 
    var sumKeyword = body.split(keyword).length - 1;  
    alert (sumKeyword); } 
}); 
1

從HTML的樣板文件中獲取文本是多個外部API和庫處理的常見任務。您不能簡單地通過檢查網頁中的所有文本來獲取文本內容,因爲最終會出現許多不相關的廣告等等。 使用像Diffbot這樣的庫可以識別標題/標題和正文,並建議一些標籤和關鍵字。之後,您可以對提取的文本進行分析。

的外部API

+0

謝謝大家,我會嘗試您的解決方案,稍後再回來! – mm1975 2014-09-01 18:04:31