Hacking & Web Scrapping
Un hacker es aquel que hace algo, simplemente por que adora hacerlo. - Mitch Altman ( Link)
Hace unos cuantos años que escribía de manera recurrente en blogs leía muchísimo sobre noticias todo el día. Básicamente el 40% del día me la pasaba pegado a Reader, Newsblur o digg. Poco a poco conocí servicios que me ayudaban a filtrar tanta información como techmeme. El detalle era que era difícil realmente predecir que las noticias se convertirían en relevante. Después llego twitter y claro con TT se lograba filtrar un poco lo que era popular. Sitios como topsy, o algoritmos como edge rank ayudaban a poder filtrar la información.
Para mi no fue suficiente. Yo quería construir mi propio ordenador de noticias basados en mis propios intereses. Se llamaba Geekomatic algo así.Desarrolle un algoritmo del cual existe un post pero no logro encontrarlo donde se puede filtrar noticias basados en X factores. Realmente no es complicado y estaba basado en el algoritmo de digg. Lo realmente interesante es como se filtraban en tiempo real. Al final esto fue el punto de partida del Automático. Después de esto construí varias versiones de crawlers gigantes. Algunos de ellos logré colocarlos sobre proyectos open source otros simplemente no despegaron puesto que no tenía la infraestructura necesaria.
El tema del hacking y crawlers siempre me ha apasioanado. De hecho nunca he visto hacking como atentado a sitios, es más bien hacer algo desde abajo que puede ser mas util a las personas. O como yo siempre digo “Romper cosas para reconstruirlas de mejor manera”. Esto ha sido mi motivante constante para todo lo que hago. Mi empresa realmente eso hace. Va con un cliente, ve la problemática, presenta una propuesta y con un poco de mágia se soluciona el problema. Muchas veces hemos tenido que romper el modelo tradicional por que simplemente está agotado.
Todo esto siempre se ha resumido a una sola herramienta que ha sido la extracción de Información y aplicarle un contexto. Cuando recien entre a este ambiente de la informática entendí que mi trabajo era justo ese. Gestionar la información, acomodar, indexar, buscar, y mostrar información de manera adecuada. El valor de la información es lo que hace que un proyecto cueste 3mil o 300 mil pesos (por decir un número). Cuando la web 2.0 estaba en su máximo existía una teoría sobre la taxonomía de la información que pretendía colocar una capa adicional de información sobre la información actual. Es decir la capa social recién creada serviría como ayuda para generar mas información. Es como si la humanidad fueran hormigas que construyen la información de manera adecuada pra el futuro. Si notas los proyectos donde la inteligencia de las masas de convirtió en moda son los que aún sobreviven por ejemplo Wikipedia, Facebook, Twitter, reddit.
Muchas veces para clasificar esta información se tiene que poder entender. Cuando la web 2.0 era la moda todo mundo hablaba de Mashups y APIs como una gran tendencia. El problema es todos los sitios carecen de una API consistente. ¿Por qué? para claramente evitar la competencia. Si tienes una API tan abierta como la tenía twitter, jamás lograras tener el control sobre tu contenido y se diversifica. Facebook por otro lado tiene el control sobre si mismo. Solo puedes leer facebook si estas en facebook.Que pasa con la información pública pues lo mismo. Los sitios como el INEGI, IFAI (encargados de manejar la información de los gobiernos en mi país) no cuentan con una manera real de hacer uso de su información. Y adicionalmente la gente de hoy en día usa excel como su gran herramienta. Todo vuelve el internet caótico.
El excesivo control, la poca “readability” y el uso de herramientas obsoletas para la extracción nos ha llevado a no progresar con servicios modernos. Aquí fue donde entendí que se necesitaba tener algo ordenado si quisieramos progresar. Me pregunté ¿Que era lo realmente consistente en los servicios web? la respuesta fue muy clara, la web por si misma. Lo mas básico HTML, JS y CSS. Todos los sitios web coinciden en esta tecnología. No hay nada que no esté construido en eso. Lo mejor es que ademas es público, Google, Facebook y Twitter usan eso como herramienta para entender la web de manera completa. Me puse a trabajar y encontré Scrapy y Beautiful Soup para python. Lo que estos sistemas hacen es consultrar HTML y extraer el contenido como uno decida programarlo. Una vez lograda la prueba del concepto pense en que necesitaba construir un ejercitó. Este ejercito es la mágia de todos nuestros proyectos. Es la respuesta a la pregunta : ¿De donde sacas toda esa información tan rápido?
Copalive usa scrapping para toda la gestión del sistema, igual que la app de los diputados, El Automático y mi ultima app de compras que aun no está disponible usa esta misma tecnica. ¿Cuál es el valor agregado de usar información que ya existe? La manera el la cual se presenta. El significado lo dan las personas nosotros solo tenemos que facilitarles el acceso, sin ser intrusivos y en menos de 3 clicks.
En mi opinión el futuro de la web estará basada en Minarla para poder obtener eso que realmente nos importa y nunca terminaremos por que estamos en expansión. Es el equivalente a una exploración del universo desde una pequeña sonda espacial.