我使用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中搜索关键字。 (例如也在achor文本等中)最后,我想获得标题和文本中的关键字数量(p,span等)
答案 0 :(得分: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);
});
答案 1 :(得分:1)
您可以使用匹配功能执行此操作:
jQuery.ajax({ url: website, success: function(data) {
var body = data.match(/<body>(.*)<\/body>/)[1];
var sumKeyword = body.split(keyword).length - 1;
alert (sumKeyword); }
});
答案 2 :(得分:1)
将文本从HTML的样板文件中删除是多个外部API和库解决的常见任务。您不能通过检查网页中的所有文本来获取文本内容,因为您最终会得到许多不相关的广告等等。 使用像Diffbot这样的库可以识别标题/标题和正文,并建议一些标记和关键字。之后,您可以对提取的文本进行分析。
外部API