Yo me pondría a pensar muy bien en el uso que le vas a dar. Lo que has dicho fue:
Y básicamente lo que te entendí que quieres hacer es:
1) "Cache warmup"
Que francamente, es mejor si estableces caches mas agresivas con tus dispositivos (y en lugares que se puedan leer más rápido)
2) Offline viewing
Que es un tremendo dolor de cabeza para sitios web que son dinámicos, porque no solo tienes que obtener los recursos necesarios sino que muy probablemente los tengas que modificar de alguna forma. Por ejemplo, si una pagina web empieza a utilizar fetch o XHR para obtener algunos recursos, es probable que vayas a necesitar montarte un servidor web de por medio o editar el código para que no utilize fetch/XHR. Y considerando que hoy en día el código viene minificado y modularizado te puede resultar díficil encontrar el código en cuestión o hacer alguna especie de monkey patching para que cargue de tu FS. Es más en algunos contextos no te van a permitir eso y lo que es peor te van a forzara usar HTTPS, así que en algunos casos no te va a quedar de otra más que poner un servidor HTTPs (y de paso tienes que agregar un root CA a tu trust store).
Es importante porque dependiendo del error que ocurra puede o no afectar el comportamiento del sitio de manera local. Hay muchas técnicas que algunos sitios web utilizan para usar las paginas de manera offline. Reddit por ejemplo tiene una modalidad offline (y a veces es un lio refrescar información). Es más responsabilidad del sitio web hacerlo visible de manera offline.
En fin, que no es algo que vas a poder hacer para algunos sitios, así que va a tocar investigar como funciona el sitio.
3) Obtener datos en especifico
Mucho más factible que tener una pagina web funcionando de manera local y para esto si te puedes utilizar las herramientas que te han dicho. Pero no hay ninguna panacea para cualquier sitio web. Si es un SPA quizás necesites un headless browser como CasperJS/PhantomJS/Puppeteer/etc, pero igual y puedes usar un parser para HTML (o busquedas en el string) si hacen prerender al sitio web (que deberían porque hay buscadores que no hacen crawling que entienda javascript). Te toca analizar el sitio web en la mayoría de los casos...
Cita de: string Manolo en 8 Agosto 2019, 06:46 AMBásicamente quiero usar el crawler principalmente para descargar contenido del sitio y de links apuntados por el sitio mientras me hecho la siesta o salgo de casa, desde el android, por eso del límite de velocidad de los datos e ir generando caché para cargar más rápido los sitios o poder verlos offline o no, obtener data para analisis...
Y básicamente lo que te entendí que quieres hacer es:
1) "Cache warmup"
Que francamente, es mejor si estableces caches mas agresivas con tus dispositivos (y en lugares que se puedan leer más rápido)
2) Offline viewing
Que es un tremendo dolor de cabeza para sitios web que son dinámicos, porque no solo tienes que obtener los recursos necesarios sino que muy probablemente los tengas que modificar de alguna forma. Por ejemplo, si una pagina web empieza a utilizar fetch o XHR para obtener algunos recursos, es probable que vayas a necesitar montarte un servidor web de por medio o editar el código para que no utilize fetch/XHR. Y considerando que hoy en día el código viene minificado y modularizado te puede resultar díficil encontrar el código en cuestión o hacer alguna especie de monkey patching para que cargue de tu FS. Es más en algunos contextos no te van a permitir eso y lo que es peor te van a forzara usar HTTPS, así que en algunos casos no te va a quedar de otra más que poner un servidor HTTPs (y de paso tienes que agregar un root CA a tu trust store).
Es importante porque dependiendo del error que ocurra puede o no afectar el comportamiento del sitio de manera local. Hay muchas técnicas que algunos sitios web utilizan para usar las paginas de manera offline. Reddit por ejemplo tiene una modalidad offline (y a veces es un lio refrescar información). Es más responsabilidad del sitio web hacerlo visible de manera offline.
En fin, que no es algo que vas a poder hacer para algunos sitios, así que va a tocar investigar como funciona el sitio.
3) Obtener datos en especifico
Mucho más factible que tener una pagina web funcionando de manera local y para esto si te puedes utilizar las herramientas que te han dicho. Pero no hay ninguna panacea para cualquier sitio web. Si es un SPA quizás necesites un headless browser como CasperJS/PhantomJS/Puppeteer/etc, pero igual y puedes usar un parser para HTML (o busquedas en el string) si hacen prerender al sitio web (que deberían porque hay buscadores que no hacen crawling que entienda javascript). Te toca analizar el sitio web en la mayoría de los casos...