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

111
Visualizações
Cheerio devuelve una cadena vacía mientras raspa target.com

Estoy tratando de raspar una página de producto de target.com para recuperar el título, el precio y la imagen del producto usando cheerio. Usando el código a continuación, pude recuperar el título y la imagen, pero el precio siempre devuelve una cadena vacía. Soy nuevo en el raspado y me he quedado sin ingenio. Cualquier ayuda es apreciada.

¡Gracias!

 const axios = require('axios') const cheerio = require('cheerio'); const { html } = require('cheerio/lib/api/manipulation'); const express = require('express') const { get } = require('http') async function getTargetProductDetails(prodUrl) { try { const scrapeUrl = prodUrl const { data } = await axios({ method: "GET", url: scrapeUrl, headers: { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.157 Safari/537.36", }, }) const $ = cheerio.load(data) const prodTitleElemSelector = '#pageBodyContainer > div:nth-child(2) > div.h-padding-h-default > h1 > span' const prodPriceElemSelector = '#pageBodyContainer > div:nth-child(2) > div.styles__StyledRow-sc-1nuqtm0-0.znNOo > div.styles__StyledCol-sc-ct8kx6-0.CBMCR.styles__StyledSecondCol-sc-y0ahq4-2.jftnqo.h-padding-h-default > div > div.h-margin-b-x2 > div:nth-child(1) > span' const imgElemSelector = '#pageBodyContainer > div:nth-child(2) > div.styles__StyledRow-sc-1nuqtm0-0.znNOo > div.styles__StyledCol-sc-ct8kx6-0.cQDVpz.styles__StyledFirstCol-sc-2vujr8-3.hHPFGX.h-padding-h-default > div:nth-child(1) > section > div.styles__CarouselProductFilmstripWrapper-sc-cwwbs3-2.fMvUGZ > div.styles__NicolletFilmstripDiv-sc-1ldzhqm-0.ctFgTt.BaseCarousel-sc-pnaqvl-0.loHErH > div > button:nth-child(1) > div > div > div > div' console.log($(prodTitleElemSelector).text().trim()) console.log($(imgElemSelector).find('img').attr('src')) console.log($(prodPriceElemSelector).text()) } catch (err) { console.error(err) } } getTargetProductDetails('https://www.target.com/p/nintendo-switch-lite/-/A-83031385?preselect=77419248#lnk=sametab')

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Los datos en realidad se obtenían a través de algunas API. La inspección de la fuente de la página reveló los objetos json. Extraer los datos json fue todo lo que tuve que hacer para obtener lo que quería.

¡Aquí está la solución exacta!

about 4 years ago · Santiago Trujillo 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