Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

208
Visualizações
Extraer texto con cheerio

Estoy tratando de escribir un script para extraer la identificación y el nombre del correo electrónico de este sitio web. Intenté el siguiente fragmento pero no funciona.

 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>foo</title> <meta name="description" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href=""> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> </head> <body> <div> <strong style="color: darkgreen;">Can read this tag</strong> <object id="external_page" type="text/html" data="https://aleenarais.com/buddy/" width="800px" height="600px" style="overflow:auto;border:5px ridge blue"> <!-- I want to read tag values from this object --> </object> </div> <script> window.addEventListener('load', function () { const item = []; $('strong[style="color: darkgreen;"]').each(function () { item.push($(this).text()) }) console.log(item) }) </script> </body> </html>

¿Hay alguna manera mejor de hacer esto? ¿O es posible convertir toda la página en una cadena y extraer el correo electrónico usando RegEx?

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

El correo electrónico y el nombre de la página web se representan en un iframe. La fuente de iframe es una fuente externa. Para que pueda extraer la información, necesita usar un navegador sin cabeza para hacerlo.

Sugeriría usar Node.JS & Puppeteer ( https://www.npmjs.com/package/puppeteer )

 const puppeteer = require("puppeteer"); (async() => { const url = "https://aleenarais.com/buddy/"; const browser = await puppeteer.launch(); const page = await browser.newPage(); await page.goto(url, { waitUntil: "networkidle0" }); var frames = await page.frames(); var myframe = frames.find( (f) => f.url().indexOf("https://feedium.app/fetchh.php") > -1 ); const textFeed = await myframe.$$eval("strong", (sElements) => sElements.map((el) => el.textContent) ); console.log(textFeed.splice(1)); //Array contains both name and email await browser.close(); })();

Titiritero carga la página de forma similar a como un usuario carga la página. Espera hasta que se realizan todas las llamadas de red (ver red inactiva0) y luego intenta encontrar el iframe que tiene la url (fetchh.php). Si observa, el nombre y el correo electrónico están presentes en las etiquetas fuertes y son las únicas etiquetas fuertes disponibles. Por lo tanto, estamos extrayendo las etiquetas fuertes, eliminando el conteo y nos quedamos solo con el nombre y el correo electrónico.

Salida: [ 'J J', 'j *j@gmail.com' ] //Acabo de enmascarar los valores pero el programa da los reales

Pasos para ejecutar el script:

  1. Instale Node.Js ( https://nodejs.org/en/download/ )
  2. Instalar titiritero usando (npm i titiritero)
  3. copie el script y colóquelo en el archivo (demo.js)
  4. En la terminal, navegue hasta el directorio en el que está presente demo.js y luego ejecute node demo.js

Deberías ver la salida.

about 4 years ago · Juan Pablo Isaza Relatório

0

Prueba esto:

 window.addEventListener('load', function () { let item = []; $('strong[style*="color: darkgreen;"]').each(function (index, item) { item.push($(this).text()) }) console.log(item) }
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda