Cheerio,删除标签之间的值
Cheerio, deleting values between tags
我有一个 html 这样的:
<strong>delete1</strong> :
16X<br>
<strong>delete2</strong>
: 16X<br>
<strong>delete3</strong>
需要删除标签,以及标签之间的所有文本。怎么做?
Node.js + cheerio,网页抓取。
你可以使用cheerio来获取父级的HTML并使用[=10=删除不需要的内容].
您也可以使用 X-ray 和过滤器选项。
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>
我有一个 html 这样的:
<strong>delete1</strong> :
16X<br>
<strong>delete2</strong>
: 16X<br>
<strong>delete3</strong>
需要删除标签,以及标签之间的所有文本。怎么做? Node.js + cheerio,网页抓取。
你可以使用cheerio来获取父级的HTML并使用[=10=删除不需要的内容].
您也可以使用 X-ray 和过滤器选项。
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>