2017-05-17 4 views
0

Ich habe eine html wie folgt aus:Cheerio, Löschen Werte zwischen Tags

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

Need Tags löschen und den gesamten Text zwischen den Tags. Wie es geht? Node.js + cheerio, Web-Scraping.

Antwort

0

Es gibt remove Methode in Manipulationsfunktionen von Cheerio. So können Sie alle Elemente in diesem Inhalt entfernen, dann erhalten Sie nur Text ohne Kindelemente und ihre Texte.

Hier ist ein Schnipsel zum Beispiel, um dies mit JQuery zu tun.

$(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>

0

können Sie cheerio verwenden zu der HTML-Code der Eltern erhalten und unnötige Inhalte mit replace entfernen.

Sie können auch X-ray verwenden und die Filteroption verwenden.