Selenium y Web Scraping en Zaragoza Python Days

La semana pasada fui vilmente engañado para que preparara una charla en el retorno a la actividad del grupo de usuarios de Python en Zaragoza, a sus reuniones las han bautizado como Zaragoza Python Days y la primera fue ayer lunes en Dlabs.

No es que sea yo muy pythonista, pero he hecho mis cositas, y desde hace un tiempo es mi lenguaje por defecto cuando estamos hablando de Web Scraping, por la cantidad y diversidad de librerías que existen. Como voy publicando en mis retros semanales, llevo bastante tiempo trabajando con Selenium para estos menesteres, por lo que tenía de cajón el tema que iba a tratar. Aproveché a comentar también el porqué para el caso de ShuttleCloud se había optado por esta solución y comentar, a vista de pájaro, algunas cosas de su arquitectura.

También preparé una sencilla demo, sacar los cumpleaños de los contactos de una cuenta de facebook. No me maté mucho: creé una cuenta "fake" de facebook y pedí a algunos amigos que me aceptaran esa cuenta, habría que hacer modificaciones para sacar los de una cuenta real (empezando por soportar paginación)... pero como ejemplo de como hacer un scraping sencillito con selenium creo que estuvo bien.

[caption id="" align="aligncenter" width="570"] Empezando la charla (Foto de David Lechón)[/caption]

La verdad que el número de asistentes, sin ser ni masivo ni mucho menos, estuvo bastante bien y el feedback recibido de la charla ha sido mucho mejor de lo que esperaba. También salieron algunas preguntas interesantes que me ayudaron a aclarar algunas cosas que durante la charla pasé por alto o a las que no les había dado demasiada importancia.

Por cierto, que me encanta ver gente más joven que viene empujando fuerte estén liándose también a organizar grupos y saraos. Hay buena cantera :).

Semana 272

De nuevo me vuelvo a retrasar en la publicación del resumen semanal, se me ha echado el tiempo encima, el martes hice la vuelta de vacaciones y se me ha acumulado trabajo. Tras la micro-realidad de 4 días seguidos de fiestas, con un ritmo de vida nada saludable y pasándolo genial, uno termina un poco machacado. Siendo una semana dura, he tenido mis buenos ratos de ocio echando cañas con amigos, para suavizar el aterrizaje :).

[caption id="" align="aligncenter" width="500"] Toro de fuego durante las fiestas de San Esteban 2013[/caption]

¿Qué es lo que hice esta semana?:

  • Me he dedicado a hacer algunas modificaciones y a resolver algunos tickets de un producto que desarrollamos para un cliente hace bastante tiempo. Con la tontería llevaba cosa de 1 mes sin tocar una aplicación Grails.
  • Ya está maquetado un alto porcentaje de mhop. Estuvimos trabajando con Guillermo una tarde, ya que yo también tenía que hacer mientras unos pequeños cambios y aprovechamos a avanzar en paralelo.
  • He estado haciendo algo (poco) de trabajo de scraping. También he invertido algo de tiempo por implementar unos cambios configuración del Selenium Remote Control del entorno de desarrollo.
  • Tratar de desatascar la puesta de producción de un pequeño proyecto que lleva terminado hace unos meses.

Aunque casi acabado, buen finde.

Semana 271

Esta semana estoy de vacaciones en mi pueblo, ahora mismo muy resacoso en el ecuador de las fiestas.

El sábado pasado en la fiesta de la carretera hicimos el calentamiento. El lunes me fui al salto de Bierge con unos amigos de Barcelona que también estaban de vacaciones. No teníamos peña para las fiestas porque cedimos La Carpa a chavales más jóvenes, es mucho curro organizarlo y nadie de nosotros quiso pringar en hacerlo; pero 2 días antes de las fiestas decidimos intentar organizarnos para buscar un local donde juntarnos, al final el día de antes conseguimos que nos prestaran uno.

Además de los preparativos de fiestas y de andar disfrutándola, lo único que hecho ha sido atender el email algún rato.

También he conseguido diseñadora para el sideproject sobre los alchups, una persona con la que tengo mucha curiosidad de colaborar y que además tiene familia en San Esteban :).

En fin, el lunes me voy a querer morir, pero que me quiten lo bailao.
Buen finde y buenas fiestas.

¿Informático de pueblo?

Hace cosa de un par de semanas leía Informático de Pueblo en la bonilista de David Bonilla, a la que debo decir que no estoy suscrito (no me gusta el email como fuente de información) pero la termino leyendo casi todas las semanas.

Me dejó un poco mosca, aún entendiendo y estando de acuerdo en bastante de la opinión de Bonilla, vi un exceso de idealización y otras cosas en las que no estaba de acuerdo.

Por poner un poco de contexto a mi punto de vista, me crié en San Esteban, de unos 500 habitantes; fui al colegio e instituto en Binéfar, de unos 8000. Entenderéis que al conocer el tamaño de Illescas, me pareció que tenemos diferente percepción de pueblo y rural :D.

[caption width="500" align="aligncenter"]San Esteban de Litera[/caption]

Entrando en materia y poniéndome tiquismiquis, empezaré por el título del post. Yo me pegué un año viviendo en mi pueblo, en mi casa de toda la vida para recortar gastos (además del alquiler, la vida de pueblo en general es más económica), porque estaba haciendo algo que puede sonar tan sexy como: montar una startup como Jobsket haciendo bootstraping. Lo que viene siendo intentar montar un negocio rentable con recursos propios, vamos. Aunque tiendo a definirme simplemente como desarrollador o programador, supongo que se me consideraría informático, y hay por ahí bastantes informáticos en los pueblos haciendo todo tipo de cosas. Un ejemplo claro que sonará a los de ciudad es que Informática el Corte Inglés tenga una factoría de software en Monzón.

Por otro lado, la idea del hombre orquesta que hace de todo: montar ordenadores, repararlos, diseñar y programar una web, una aplicación de gestión, configurar un servidor, llevar las redes sociales, montar una red, vender en una tienda... Es algo que, en mi experiencia, no es trivial de hacer bien ya por separado, hacer todo eso decentemente lo veo bastante improbable. Que yo sepa, quienes dan muchos de esos servicios es porque son varias personas y tienen habilidades que se complementan, lo que se acerca a la idea de las empresas de servicios informáticos integrales; y como ellas, a veces los resultados son mejores o peores.

Yo trabajé hace ya bastantes años en una de esas tiendas de informática 6 meses, donde aprendí mucho y durante gran parte del tiempo disfruté de mi trabajo. Por aquel entonces los márgenes de vender hardware ya eran poca cosa, al igual que parece pasar con los coches, el negocio está en el mantenimiento.

Mis tareas eran cosas como montar ordenadores clónicos, ampliar o cambiar piezas, limpiar virus y malware en general, reinstalar windows, instalar y configurar software nuevo, ir a muchos de los pueblos cercanos a hacer reparaciones (en oficinas, fábricas, granjas, ayuntamientos, casas), montar alguna pequeña red local, vender en tienda... Y si había ratos ociosos, como a mi en realidad lo que me gustaba era programar, iba desarrollando una pequeña aplicación de gestión para las reparaciones (en Visual Basic 6! :D), que no llegó a terminarse nunca porque era imposible darle continuidad. Por aquel entonces, dentro de la informática creo que se me podría considerar algo así como técnico de soporte, figura que hay en muchas empresas y sobre las que sí hay alguna serie :P.

Y la idealización... ¿Sabéis por qué estuve 6 meses justos? Pues porque no me renovaron el contrato (en prácticas), el último mes estaba ya muy desmotivado y empeoró mucho mi rendimiento, tuve algunos despistes gordos... básicamente porque me cansé, en realidad eso no era algo a lo que me quisiera dedicar y el día a día me terminó quemando. Por eso, que no me renovaran, fue lo mejor que me podría haber pasado en ese momento, forzándome a tener que empezar a buscarme la vida.

Sé que hay mucha gente que no valora o respeta a la gente que se dedica a eso, igual que hay quien no valora a "un freelance que hace webs y no trabaja en una macroconsultora con proyectos públicos o para empresas del copón" (sí, me ha pasado).

Quizás sea por haberme dedicado a ello, pero le tengo muchísimo respeto a la gente que trabaja cuando aparecen los problemas con la presión del cara al público, hacer un buen trabajo no es nada fácil.

Semana 270

De nuevo viernes, una semana típica en agosto. Se entremezclan las vacaciones de unos y otros, parece que se asume, vamos todos más tranquilos y de repente parece ir todo en cámara lenta.

Incluido yo mismo sin estar aún de vacaciones me he tomando la semana bastante tranquila, salvo un lunes que se hizo bastante cuesta arriba al juntarse varias cosas, y viniendo un poco agotado tras el Lagata vajunto del fin de semana.

[caption width="500" align="aligncenter"] Terrazas casi vacías en Nolasco a la hora del café[/caption]

Lo que dio de sí:

  • La semana pasada ya dije que se lanzó a producción por fin uno de los productos en los que ando colaborando hace meses. Lo comenté ya en twitter, es Qstion, una plataforma para hacer video entrevistas en directo pudiendo recibir preguntas de la audiencia en tiempo real.

    Pues bien, durante la semana he estado implementado un par de pequeñas funcionalidades para la postproducción de las entrevistas.

  • Tuve una reunión para aclarar algunas cosas de una propuesta hecha hace unas semanas.
  • El trabajo de web scraping: Algunos de los servicios de los que estaba extrayendo contenido habían tenido pequeñas modificaciones y había que retocarlos. Uno de esos servicios de los que hacemos scraping y ya resultó ser un auténtico dolor de pelotas hace unas semanas, quisimos mejorarlo y volvió a darnos mal... nos costó pero ya scrapea todo y más rápido.
  • Un poco de trabajo de coordinación y pequeños cambios de mhop, ya se ha aprobado gran parte del diseño del frontend.
  • Hacer una estimación de tiempo y coste para dedicarme a resolver un puñado de tickets de un proyecto que cerré hace algunos meses.

Os diría que voy a estar unos días de vacaciones para descansar, pero siendo la semana próxima fiestas en mi pueblo me da que no va a ser mucho.
Buen finde.