在正文中搜索关键字

Search for Keyword in body

本文关键字:关键字 搜索 正文      更新时间:2023-09-26

我使用ajax调用从外部url获取html:

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

这很好。我收到一个外部网站的html提醒。

有没有一种简单的方法可以搜索关键词,并在html正文的文本或标题中计算其数量?

我是这样尝试的:

HTML

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

脚本

 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等)

这里有一段代码可能会启发您解决问题

   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

您可以使用匹配函数:

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

从HTML的样板中提取文本是由多个外部API和库处理的常见任务。你不能简单地通过检查网页中的所有文本来获取文本内容,因为你最终会看到很多不相关的广告等等。使用Diffbot这样的库可以识别标题/标题和正文,并建议一些标签和关键字。之后,您可以对提取的文本进行分析。

外部API

  • Diffbot
  • 炼金术
  • 可读性:将任何网页变成干净的视图
  • textract:用于从中提取文本的节点模块各种文件类型
  • unfluff:自动从html文档中提取正文内容(以及其他很酷的东西)
  • Scrapely:一个纯python HTML屏幕抓取库
  • Scrape.it:从任何网站复制数据
  • Boilerpipe:从HTML页面中删除Boilerplate和全文提取