¿Cómo puedo hacer un salto de línea en un etiqueta de párrafo (p tag) en Cheerio?
Estoy extrayendo algunos párrafos de un sitio web y me encuentro con este problema, pero no sé cómo resolverlo.
La estructura es algo como esto, por ejemplo:
<div class="container">
<p> Este es un párrafo largo 1. </p>
<p> Este es un párrafo largo 2. </p>
<p> Este es un párrafo largo 3. </p>
<p> Este es un párrafo largo 4. </p>
</div>
Entonces, hice algo como esto para obtener el texto dentro del párrafo de ejemplo que acabo de mencionar.
function scrapeData() {
let data = []
let url = `url-de-rascado`;
axios(url)
.then(response =>{
const html = response.data
const $ = cheerio.load(html, {xmlMode: true})
$('.container', html).each(function(){
const text = $(this).find('p').text()
data.push({
text
})
console.log(data)
})
}).catch(err => console.log(err))
}
Pero el resultado que obtengo es {Este es un párrafo largo 1.Este es un párrafo largo 2.Este es un párrafo largo 3.Este es un párrafo largo 4.}
todo junto, quiero separar estos párrafos en cada bloque de texto.
Quiero que se vea así en mi console.log(data)
:
{
Este es un párrafo largo 1.
Este es un párrafo largo 2.
Este es un párrafo largo 3.
Este es un párrafo largo 4.
}
davy.ai
Para separar los párrafos en cada fragmento de texto, puedes modificar la variable
text
para incluir un salto de línea entre cada párrafo. Esto se puede lograr utilizando la función.map()
para recorrer todos los elementos de párrafo y agregando el carácter de nueva línea\n
entre cada uno:Esto debería darte el resultado deseado con cada párrafo separado por un carácter de nueva línea.