martes, enero 01, 2019

Acceso a Webservices básico con requests y Parseando HTML con Python, BeautyfulSoup 4 en Pythonista

Pythonista es un entorno de trabajo muy sencillo e intuitivo. Incluye la documentación del lenguaje y existe un montón de documentación en linea. No obstante hay que tener cuidado con lo que encontramos en la web, pues a medida que iOS va avanzando versiones va añadiendo  funcionalidades necesarias para convertir el iPad en una plataforma de computación independiente. Y nos podemos encontrar con un montón de hacks para hacer algo que con iOS 12 ( o la versión que haya cuando leas este ) ya da de saque.

El primer problema que tengo que resolver en mi proyecto es conectarme a un servicio web que desarrollé para un plugin de wordpress hace un tiempo. Python 3 ofrece una nueva libreria para acceder a webservices. Acceder a un servicio GET es tan sencillo como:

import requests 
url=“La url de mi servicio web por GET”
uh = requests.get(url);
data = uh.text; 

Así de facil.

Una de las funciones de mi api cutre, es tan cutre que devuelve información en un formulario HTML. Ahora necesito la información del formulario HTML en una estructura de datos, y no quiero tocar el webservice en el servidor pues ya está en producción. Así que toca parsear el HTML.

Para ello pythonista me ofrece BeautyfulSoup 4 (bs4) un parser html muy potente. Aqui hay un buen tutorial de como usarlo http://omz-software.com/pythonista/docs/ios/beautifulsoup_guide.html






Aprendiendo pythonista y retomando Python - retomando este blog

Hace tiempo que no escribo en este blog. He estado concentrado en otros proyectos como http://aprendizdeluthier.com (Guitarras y Lutheria), http://pansingluten.net (Panificación y bolleria sin gluten ), http://estudiarmejor.net (Educación), http://ososdeviaje.com (Viajes y estilo de vida) http://creapodcast.com (grabación y producción de audio para podcasting) y mis proyectos de podcasting más sérios: http://mossegalapoma.cat ( Podcast en català de Cultura, Tecnología y Ciencia ), http://zetatesters.com (Podcast de desarrollo personal) y (last but not least) http://cabalgaelcometa.com (Podcast sobre cambio tecnológico y su impacto en la sociedad).

Si, he estado ocupado.

Este blog en su dia fué de gran ayuda para agregar escritos sobre frikadas, intereses personales y temas relacionados con mi tesis doctoral (que leí hace 10 años, ¿ya?).

Asi pues voy a volver a usar este blog para volcar información y reflexiones sobre cosas, que quiero recuperar yo mismo.

Para empezar, acabo de abrir un proyecto de desarrollo de un app para ios y voy a usar Python. ¿Porqué python? Pues proqué no tengo ganas de meterme en xcode y aprender nuevos lenguajes como c# o swift. Python es un lenguaje perfecto para el proyecto personal y acotado que quiero atacar, además que me permite imporvisar trabajar con mi estilo ecléctico de programación. Teniendo en cuenta que no tengo que coordinarme con otros developers y no planeo hacerlo en el futuro creo que es la elección adecuada. Seguro que hay opciones mejores, pero Python es la mejor opción para mi y la energia que quiero dedicar al proyecto.

Dicho esto, uno de los atractivos adicionales, es que voy a desarrollar la app en el pròpio iPad. Usaré Pythonista, un entorno de desarrollo para iOS en python que corre como app en el pròpio iOS.

Ya os iré contando...