Cheerio | Introducción al Web Scraping con Nodejs, Javascript, y Async/await
HTML-код
- Опубликовано: 15 окт 2024
- Este video es una Introducción práctica al Web Scraping a traves de Nodejs usando Cheerio.js, request-promise, async/await y otros conceptos de Javascript.
CÓDIGO DEL EJEMPLO PRÁCTICO
gist.github.co...
CURSO DE NODEJS
• Nodejs Curso Desde Cer...
CURSO DE MONGODB
• MongoDB Curso, Introdu...
TYPESCRIPT EJEMPLOS
• Typescript REST API co...
CURSO DE GIT
• Git y Github | Curso P...
VISUAL STUDIO CODE
• Visual Studio Code, Ed...
VISITA MI SITIO WEB PARA MAS CURSOS Y CONTENIDO
www.faztweb.com
blog.faztweb.com
FAZT - RUclips:
/ fazttech
TWITTER
/ fazttech
INSTAGRAM
/ fazttech
FACEBOOK
/ fazttech
#cheerio #nodejs #javascript
Genial, ey cuando subes una con Playwright js. Seria genial!!
Eres un crack fazt, gracias por todos tu aportes es muy util. Pudieras hacer un carrito de compra con Node JS y Angular por favooor
Excelente video y clarisimo como siempre!!! cada vez aprendo mas cosas!!! ya viendo tus videos aprendi api rest y ahora scraping !! muy bueno!!! felicitaciones y segui haciendo estos videos!!! gracias.
Buaf! buenisimo! Cómo puede ser que ando todos los días viendo tus videos desde que encontré tu canal y no había visto este! jejejej. Buenísimo!!! ME ENCANTA!
Lo único que te ha faltado, es hablar sobre eventos de tiempo en JS, que des tu opinión, sobre cual sería la mejor opción, para repetir estas funciones cad aX tiempo... Nada mas terminar el video, he dado una ojeada... a ver que usar... Valdría el uso de la dependencia de "node-cron" o algún otro??
La verdad... me encanta esto! jajajaj. MIL GRACIAS POR TODO TU TRABAJO Y CONTENIDO!! ^^
demasiado tarde para leny
necesitaba esto hace 2 semanas jjajaja igualmente gran video
un vídeo de Puppeteer... 👏👏👏👏👏
Fazt puedes hacer un tutorial sobre el Framework CSS - Materialize
como lo puedo hacer desde react? es que hago los pasos tal cual del video y me sale el console.log en blanco y me salta un error de los corse algo asi
2022 funcionando perfecto. Gracias bro.
para hacer scraping que es mejor cheerio o puppeteer? y cual serian las diferencias?
Cheerio 'jala' el código HTML de un sitio web, en cambio Puppeteer corre una instancia de Chrominium en segundo plano desde el cual obtiene todo el contenido de la página en tiempo real incluyendo la carga de scripts y datos asíncronos, dependiendo de tu caso si quieres obtener datos de un sitio web simple como vendría a ser Wikipedia lo ideal es usar Cheerio, en cambio si queremos obtener datos de un sitio complejo que carga datos después de un tiempo al iniciar usamos Puppeteer.
¿Pdrías hacer un tutorial para sacar datos de la página de libros de Cheerio?
Fazt no se si vas a ver este comentario pero me surgió una duda.
const cheerio = require('cheerio')
const $ = cheerio.load('Hello world')
$("")
$.html()
cheerio.load: devuelve un objeto no?
y si en $ hay un objeto, como es posible usar la sintaxis $(): esta sintaxis no seria si $ fuera una función?
Muy muy bueno el vídeo !! Super explicado . Quiero aplicar esto mismo en un sistema viejo, pero tengo un problema antes del ingreso al código tengo un login ! Cómo puedo enviar datos para que valide mis credenciales ? Gracias 😁
Yo tengo el mismo tema, un sitio con login
Fazt antes que nada, excelente tutorial!!! tengo una consulta, ¿y si la web que quiero hacer scrapping tiene usuario y contraseña? es decir está protegida con usuario y contraseña. Gracias!
Puedes usar la librería *Puppeteer* para ello.
A partir del 11 de febrero de 2020, request está en desuso. No se esperan nuevos cambios. De hecho, ninguno ha aterrizado por algún tiempo. Este paquete también está en desuso porque depende de request. :( Alguna otra recomendación ?
Esto es justo lo que andaba buscando por mucho tiempo, gracias fazt
es legal si utilizo esto para analisis de competencias? como decir obtener los meta tags de una pagina, colores, etc u obtener de una red social los me gusta, interacciones, vistas, etc?
fazt, genial el video. Consulta, estoy tratando de trabajar con una pagina que al atacarla desde la api me reconoce el ingreso como de un navegador no soportado. por lo tanto no puedo acceder a su BODY. Como podre solucionarlo??
Dos preguntas broth. Es legal? No se node. Y con php con js no se podria? Gracias men. Justo estaba buscando un video sobre esto y bumm ahí me llegó la notificación.
Increíble este ejemplo. Que más te digo me gusto bastante. Esto no se podrá hacer con python. Con imágenes y productos?
Si se puede hacer scraping con python pero ocupas otra librería
Si con selenium
request esta deprecated, y tira algunos fallos al instalarla, se puede seguir usando aunque este obsoleta? es que necesito seguirte en todo para ir aprendiendo si me voy a otra libreria ya seria un problema....
Con puppeteer puedes hacer inyección js y interceptar las comunicaciones realizadas por WS 😅
Saludos, probe el metodo de Fazt y efectivamente es posible hacer Web Scraping a paginas web tradicionales, pero no es posible hacerlo a paginas como RUclips, ni mucho menos a los chats. El metodo que enseñas aplicandolo a RUclips no devuelve el html de este sitio o al menos no lo devuelve completo, porque no es posible encontrar determinadaas elementos o clases de este sitiio. Tienes alguna solución para enmendar ese problema para hacer Scraping a sitios como RUclips? De antemano gracias
Excelente canal Fazt. No me pierdo ningún vídeo. que cursos tienes en udemy? Saludos desde Medellín
7:31 desde aca dice code: 'MODULE_NOT_FOUND',
requireStack: [
'C:\\Users\\Richard\\source\
epos\\Js\\webscrapy\
ode_modules\
equest-promise\\lib\
p.js',
'C:\\Users\\Richard\\source\
epos\\Js\\webscrapy\\index.js'
]
Saludos maestro Fazt, probe tu metodo y efectivamente es posible hacer Web Scraping a paginas web tradicionales, pero no es posible hacerlo a paginas como RUclips, ni mucho menos a los chats. El metodo que enseñas aplicandolo a RUclips no devuelve el html de este sitio o al menos no lo devuelve completo, porque no es posible encontrar determinadaas elementos o clases de este sitiio. Tienes alguna solución para enmendar ese problema para hacer Scraping a sitios como RUclips? De antemano gracias
Supongo que en tu caso mejor vendría usar Puppeteer, esa librería puede hacer scrapping en sitios web algo más complejos en donde puedes manejar inputs, tiempos, eventos y demás, Cheerio no tiene soporte para sitios SPA o construídos por frameworks como Vue o React.
Excelente video, ya lo he puesto aprueba, solo tengo un problema, cuando creo un paquete de NPM con mi scraping, y lo utilizo, tengo problemas con el CORS, alguien sabe o tiene algún consejo para saltarse el CORS :/?
Excelente tutorial. ¿Se podría hacer algo similar para un documento de word docx o un pdf?
Por supuesto.
Excelente video eres un crack Fazt
Por favor, un video de Puppeteer
Sobre como detercar cosas que vayan saliendo, por ejemplo mensajes de Whatsapp o Telegram
Genial tutorial, ahora esperaremos uno con puppeter !
Excelente como siempre. Tendrá cursos en udemy. De ser asi valdría la pena verlos. Saludos.
Aeeee.... Eu também apoio um curso na udemy, eu sou brasileiro e consigo aprender muito com o fazt.
Fazt ayuda por favor, como hago scraping a una pagina de peliculas para obtener las imagenes. Al seleccionar la imagen y su atributo src se obtiene undefined porque al parecer la imagenes se cargan con lazy loading eso me dijeron. Por favor espero tu respuesta , muchas gracias!!
intento todo al pie de la letra y cuando le doy "node index.js" no sucede nada
¿estas seguro que tienes nodejs instalado?
hola broth, felicitaciones Tu video esta excelente, te queria pregunta , por que cuando ejecuto en la terminal >node index.js en vez de extraerme el HTML de la pagina solo me produce un salto de linea, mas no me muestra el HTML, sera por mi internet estar muy lento.
Hola ¿Se puede escanear contenido dinámico con cheerio? o tengo que pasarme a puppeter? Gracias!!!
que manía de usar la consola integrada! Sería muchísimo más claro usar la normal
justo lo que queria aprender. gracias fatz
Alguna otra forma de instalar las dependencias del minuto 4:21, no me deja de esta forma que lo haces. se te agradecera
Hola buenos dias, es posible crear una api atraves del scraping?
Te hago otra consulta, quiero recorrer la pag. y hacer una lista ya que guardo en esa lista los enlaces a otras paginas, luego quiero recorrer esa lista y por cada enlace ir a la otra pag y extraer info, guardarla en un array junto con el enlace correspondiente y seguir con el siguiente elemneto de la lista hasta el final. Pero el for lo hace mas rapido que el llamado al await request() como hago que espere a que el request responda ?
muchas gracias
Solucionado1!!
Hola. Soy principiante de 0 pero si quiero y necesito hacer una app que requiere web scraping. Encontré tu video super informativo y en español sobre todo. Solo que cuando quiero iniciar nmp init -y la terminal me tira un error:
+ FullyQualifiedError: CommandNotFoundException
El termino npm no se reconoce como nombre de un cdmlet, funcion, archivo de script o programa ejecutable...
Que puedo o debo hacer? Gracias!
Te tira ese error porque no has instalado el npm
Sabes alguna manera de hacer scrapping de single page application con solo javascript, sin headless chrome o puppeteer? Apreciaria mucho incluso si és solo una idea
con cheerio el mismo lo dice y see especifica en la documentacion de cheerio
@@CesarICAO Saludos, probe el metodo de Fazt y efectivamente es posible hacer Web Scraping a paginas web tradicionales, pero no es posible hacerlo a paginas como RUclips, ni mucho menos a los chats. El metodo que enseñas aplicandolo a RUclips no devuelve el html de este sitio o al menos no lo devuelve completo, porque no es posible encontrar determinadaas elementos o clases de este sitiio. Tienes alguna solución para enmendar ese problema para hacer Scraping a sitios como RUclips? De antemano gracias
Muy bueno y muy útil. Gracias!
Eres un verdadero capo! Gracias
Hola. ¿con que instruccion puedo abrir una pagina web?
Debes crear una instancia referenciando al sitio web con el método cheerio.load(), la referencia puede realizarse tanto con response como con Axios.
tienes servidor de discor o un lugar donde pueda pedir ayuda cuando no se algo?
si claro discord.gg/JpnY3YqzCN
Bros como estan ? necesito obtener el css haciendo web scraping, me podrian ayudar ?
Como lo puedo usar en React js?
ojala y puedan ayudarme con esta duda: Me gustaria poder hacer scraping web a una pagina que usa un framework, no estoy seguro de si es react o vue, pero genera hmlt a partir de un div con la clase app... como se haria en ese caso, ya que hacerlo como muestra en el tutorial solo trae el div sin nada adentro
Por favor, si sabes cómo resolverlo informame. Tengo el mismo problema y llevo tiempo buscando como resolver.
Alguien encontro solucion a ese problema?
Gracias Fazt!!!!!
Buenísimo, gracias 🙏
Hola amigos me pueden ayudar? quien me da algunos tips sobre como podria agarrar esa informacion extraida y plublicarlas en un blog creado por mi en nodejs?
Tengo como 4 meses queriendo terminar el curso de node
podrias hacer un video de como hacer que un cliente te envie un email mediante un formulario con nodejs?
Ese ejemplo estara para esta semana :)
@@FaztCode Lo esperare con ansias, ya que estoy desarrollando una pagina web y estoy atascado hace 3 semanas con ese tema, por un error de certificado que no estoy pudiendo solucionar. Muchas gracias Fazt eres grande de verdad
zelda ?
fazt no conoce el boton terminal
y si el paquete request ya esta obsoleta, que procede ahí?
Puedes cambiarlo por axios
Excelente Fazt
Parre interesante 37:40
Muchas gracias
Hola muyy buienas pues nada yo ando peleandome con el codigo porque me da fallos teniendo el código asi tal cual:
const cheerio = require('cheerio');
const fs = require('fs');
const request = require('request');
async function init() {
const $ = await request({
uri: 'quotes.toscrape.com/',
transform: body => cheerio.load(body)
});
//console.log($);
const websiteTitle = $('title');
console.log(websiteTitle);
}
init();
error:
PS I:\Desarrollo_de_aplicaciones\Javascript\webscrap> node index.js
(node:17220) UnhandledPromiseRejectionWarning: TypeError: $ is not a function
at init (I:\Desarrollo_de_aplicaciones\Javascript\webscrap\index.js:27:26)
(node:17220) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:17220) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
Me pasa lo mismo bro, avísame lo pudiste solucionar
Un video de Goutte
UnhandledPromiseRejectionWarning: TypeError: $ is not a function
Espero que alguien lea esto :/
Te amo
Fatz puppeteer porfa:)
Como se puede pasar el dato extraído a un html , ?.