Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

91
Views
¿Cómo puedo romper la etiqueta p en Cheerio?

Estoy raspando algunos párrafos de un sitio web y me ocurre este problema, pero no sé cómo resolverlo.

La estructura es algo así, por ejemplo:

 <div class = "container"> <p> This is a long paragraph 1. </p> <p> This is a long paragraph 2. </p> <p> This is a long paragraph 3. </p> <p> This is a long paragrahp 4. </p> </div>

Así que tuve que hacer algo como esto para obtener el texto dentro del párrafo de ejemplo que acabo de mencionar.

 function scrapeData() { let data = [] let url = `scraping-url`; 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 {This is a long paragraph 1.This is a long paragraph 2.This is a long paragraph 3.This is a long paragraph 4.} pegados, quiero separar estos párrafos en cada fragmento de texto

Lo quiero así en mi console.log(data)

 { This is a long paragraph 1. This is a long paragraph 2. This is a long paragraph 3. This is a long paragraph 4. }
about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Adapte el selector para que coincida con las etiquetas p , y luego recorra cada una y construya sus datos.

Prueba esto:

 // select p tags in the container $('.container p', html).each(function(){ const text = $(this).text(); data.push({ text }); }); console.log(data);
about 4 years ago · Juan Pablo Isaza Report

0

Tal vez agregue las nuevas líneas después de:

 $('p').after("\n")

O cuando te unes a ellos:

 $('p').get().map(p => $(p).text()).join("\n")
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!