Cheerio,删除标签之间的值

时间:2017-05-17 11:38:46

标签: javascript node.js cheerio

我有一个像这样的HTML:

<strong>delete1</strong> : 
16X<br>
<strong>delete2</strong> 
: 16X<br>
<strong>delete3</strong>

需要删除标签以及标签之间的所有文字。怎么做? Node.js + cheerio,web scraping。

2 个答案:

答案 0 :(得分:0)

您可以使用 cheerio 获取父级的HTML,并使用 yAxis: { min: -15, max: 40, // reversed: true tickPositioner: function() { var tickPositions = $('#containerinternalTemp').highcharts().yAxis[0].tickPositions return tickPositions; } 删除不必要的内容。

您也可以使用X-ray并使用过滤器选项。

答案 1 :(得分:0)

Cheerio的操作功能有remove方法。 因此,您可以删除此内容中的所有元素,然后您将只获得没有任何子元素及其文本的文本。

以下是使用JQuery执行此操作的代码段。

$(document).ready(function(){
  var $elm = $('#demo-container');

  // Remove all child elements then their contents will be gone.
  $elm.find('*').remove();
  console.log('Contents without child elements',$elm.html());

  // Beyond that you could split text with colon and get each values
  console.log('Each line as array',$elm.html().replace(/\s/g, '').split(':'));
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="demo-container">
  <strong>delete1</strong> : 
  16X<br>
  <strong>delete2</strong> 
  : 16X<br>
  <strong>delete3</strong>
</div>