[pyar] Consulta sobre hacer un web scrapper para un homebanking
Rafael Bermúdez
r.n.bermudez en gmail.com
Mar Jul 10 14:38:17 -03 2018
Gracias a todos por las respuestas, muy útil!
Voy a investigar ahora Selenium entonces.
On Tue, Jul 10, 2018 at 4:12 AM Mariano Verdú <verdumariano en gmail.com>
wrote:
> Comparto con la idea de David, agrego que podes dockerizar selenium (e
> inclusive tu proceso) para simplificar un poco quizás la ejecución logrando
> un ambiente controlado, limpio y descartable. :P
>
> Casualmente WebWhatsappWrapper[0] hace algo similar.
>
> o/
>
> [0] https://github.com/mukulhase/WebWhatsapp-Wrapper/
>
> El 9 de julio de 2018, 19:59, David Arch <daviddanielarch en gmail.com>
> escribió:
>
>>
>>
>> El lun., 9 de jul. de 2018 2:53 p. m., Sebastian Bassi <sbassi en google.com>
>> escribió:
>>
>>> On Mon, Jul 9, 2018 at 10:32 AM Rafael Bermúdez <r.n.bermudez en gmail.com>
>>> wrote:
>>>
>>>> Estoy aprendiendo Python, y quería implementar algo que me sea útil, y
>>>> de lo cual pueda sacar algún concepto nuevo o interensante. Se me ocurrió
>>>> hacer un script que se logueé en mi homebanking, saque cierta información
>>>> del mismo, y guarde (o suba a google drive) lo que me interese en un XLS.
>>>> Mis preguntas son:
>>>>
>>>> - ¿Es legal hacer esto?
>>>>
>>>> Habría que ver los terminos y condiciones del sitio, en general
>>> prohiben el uso de "bots", pero si ese es el caso no es que sea "ilegal" en
>>> el termino de cometer un delito, pero si una infracción a sus normas y
>>> puede tener consecuencias tipo que te saquen la cuenta. Tambien pueden
>>> acusarte de "hackeo", que si bien no tiene sentido dicha acusación no
>>> impide que la puedan hacer. Hay miles de ejemplos de empresas haciendo
>>> acusaciones sin fudamento, que muchas veces terminan desestimadas pero
>>> mientras tanto tenes que hacerte cargo de abogados, perder tiempo, etc.
>>> Ademas lo que es legal varia en cada pais, la gran mayoria de los que
>>> estamos aca no somos abogados, asi que cualquier cosa que te digan aca
>>> (incluso esto) tomalo con cuidado.
>>>
>>>
>>>> - Considerando que no guardaría mi información de logueo en ningún
>>>> lado (ya que no sé aún cómo encriptar archivos o algo similar), y que esto
>>>> lo correrería localmente en mi computadora, ¿hay algún riesgo obvio que no
>>>> estaría considerando?
>>>>
>>>>
>>> Si el login es via https y las credenciales no las guardas en la PC, no
>>> veo riesgo importante.
>>>
>>>
>>>>
>>>> - De no haber problema en los cuestiones anteriores, ¿algún tip o
>>>> sugerencia?
>>>>
>>>> Antes de scrapear agotá la posibilidad mas prolija que es usar una API
>>> para levantar los datos, mira las docs a ver si existe dicha API y/o
>>> preguntá en el banco, aunque no tengan supongo que les sirve para saber que
>>> hay demanda para ese servicio.
>>>
>>>
>>>> En principio usaría requests
>>>> <http://docs.python-requests.org/en/master/> para hacer las llamadas,
>>>> y por lo que pude ver, quizá Beautiful Soup
>>>> <https://www.crummy.com/software/BeautifulSoup/bs4/doc/> para levantar
>>>> la data que necesito.
>>>>
>>>
>>> Esas 2 herramientas están muy bien para eso. Otra opcion que
>>> consideraria, que ademas haria mas dificil la deteccion desde el servidor
>>> que estas usando un script, es usar Selenium con el navegador. Vos haces un
>>> script en Python que le dice al browser que hacer, ademas podes acceder
>>> luego cualquier parte del DOM. Vos usas un script pero para los logs del
>>> server el que está haciendo el request es el navegador, será menos
>>> sospechoso que usando requests o cualquier otra alternativa headless.
>>>
>>
>> Además de hacer la detección más difícil, en sitios complejos que hacen
>> muchos pedidos con muchos parámetros y tienen mucho Ajax dando vuelta es
>> muchísimo más fácil sacar lo que querés usando Selenium.
>> Si querés solamente usar requests en muchos casos vas a tener que hacer
>> un trabajo de ingeniería inversa bastante importante para saber que
>> llamadas que hace la página son importantes (y sus argumentos) para llevar
>> a cabo lo que querés hacer en particular.
>> Si usas selenium seguramente tu script va correr más lento que haciendo
>> los pedidos usando requests pero vas a poder tener algo funcionando mucho
>> antes.
>>
>>>
>>> _______________________________________________
>>> 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
>>
>>
>> _______________________________________________
>> 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
>>
>
> _______________________________________________
> 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
--
Bermúdez Rafael
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20180710/44e500d5/attachment.html>
Más información sobre la lista de distribución pyar