[pyar] Web screenshot

Augusto adtononi en gmail.com
Dom Ene 12 18:43:14 -03 2020


Muchas gracias a ambos!

Leeré al respecto!

El dom., 12 ene. 2020 18:11, Lucas <lbellomo en riseup.net> escribió:

> Podes usar Splash[0] para sacar las screenshot. Creo que nació para
> solucionar ese problema (pero ahora hace MUCHAS cosas mas complicadas,
> como devolver el html renderizado).
>
> Deberías tener corriendo Splash (la forma mas sencilla es con docker) y
> después hacer un POST a Splash pasandole el url que queres [1].
>
> Vas a tener varias ventajas contra Selenium como:
>
> - Podes correrlo en varios cpu/maquinas
>
> - Pude renderizar varias paginas en paralelo
>
> - Te va a consumir una cantidad fija de ram
>
> - Mas rápido, porque no tenes el tiempo de arranque del navegador
> (suponiendo que los abrís y cerras en demanda).
>
>
> [0]: https://splash.readthedocs.io/en/stable/index.html
>
> [1]:
>
> https://splash.readthedocs.io/en/stable/faq.html#python-using-requests-library
>
> On 1/12/20 1:04 PM, Javier Marcon wrote:
> > El 12/1/20 a las 12:35, Augusto escribió:
> >> Finalmente lo hice on demand, y funciona bien. El único problema es
> >> que una sola caputra me consume 500mb de memoria aprox, estuve
> >> monitoreando los procesos con htop al momento de solicitar la captura.
> >> Obviamente, al finalizar la captura mato el proceso.
> >> El tema es que con 10 usuarios que soliciten una captura al mismo
> >> tiempo esto hará que explote la memoria jaja
> >> Hay forma de que el proceso sea más ligero? Ya estoy hablando respecto
> >> al proceso de selenium en sí. Quizás algunos parámetros que hagan más
> >> ligera la captura
> >>
> >> Respecto a la opción de obtener las capturas previamente, por ahora no
> >> la considero ya que al final por ordenes de arriba quieren que sea on
> >> demand.
> >>
> >> Saludos!
> >>
> > Hola,
> >
> > Lo que yo sugeriría es por un lado hacer profiling de cada proceso para
> > ver que es lo que te consume más memoria y así ver que podes optimizar,
> > y por el otro lado hacer que las capturas de pantalla se hagan con un
> > proceso diferente y controlado. Para hacer esto yo tendría algunos
> > workers (archivos de Python que reciben los pedidos de captura por una
> > cola de mensajes como Rabbit MQ por ejemplo, hacen la captura con
> > Selenium y devuelven las capturas por otra cola de mensajes) y la
> > interacción con el usuario la hace un script que pone los pedidos en la
> > cola de pedidos y obtiene las respuestas de la cola de screenshots.
> > Podes hacerlo por RPC pero me parece mejor hacerlo asincrónico.
> >
> > Saludos,
> >
> > Javier.
> >
> _______________________________________________
> Lista de Correo de PyAr - Python Argentina - pyar en python.org.ar
> Sitio web: http://www.python.org.ar/
>
> Para administrar la lista (o desuscribirse) entrar a
> http://listas.python.org.ar/listinfo/pyar
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20200112/80e04fd5/attachment-0001.html>


Más información sobre la lista de distribución pyar