{"id":52,"date":"2026-10-09T22:52:31","date_gmt":"2026-10-09T22:52:31","guid":{"rendered":"https:\/\/prensabot.com\/blog\/la-scaloneta-se-colo-en-el-diario-tucumano-el-codigo-fosil-que-saboteo-un-bot-periodistico\/"},"modified":"2026-10-09T22:52:31","modified_gmt":"2026-10-09T22:52:31","slug":"la-scaloneta-se-colo-en-el-diario-tucumano-el-codigo-fosil-que-saboteo-un-bot-periodistico","status":"publish","type":"post","link":"https:\/\/prensabot.com\/blog\/la-scaloneta-se-colo-en-el-diario-tucumano-el-codigo-fosil-que-saboteo-un-bot-periodistico\/","title":{"rendered":"La Scaloneta se col\u00f3 en el diario tucumano: el c\u00f3digo f\u00f3sil que sabote\u00f3 un bot period\u00edstico"},"content":{"rendered":"<p>En julio de 2026, un medio digital del interior del pa\u00eds enfrent\u00f3 un misterio tecnol\u00f3gico que puso en jaque su flamante secci\u00f3n de Deportes. El editor de Lomas de Taf\u00ed hab\u00eda configurado un bot de scraping para alimentar autom\u00e1ticamente la secci\u00f3n con noticias de Atl\u00e9tico Tucum\u00e1n, San Mart\u00edn (Tucum\u00e1n) y el piloto Franco Colapinto. Sin embargo, el sistema, en lugar de obedecer, comenz\u00f3 a llenar la bandeja de entrada con una avalancha de cr\u00f3nicas sobre la Selecci\u00f3n Argentina, ignorando por completo los criterios de b\u00fasqueda establecidos.<\/p>\n<h2>Desconcierto en la redacci\u00f3n: \u00abYo ped\u00ed Atl\u00e9tico Tucum\u00e1n\u00bb<\/h2>\n<p>La situaci\u00f3n gener\u00f3 una inmediata frustraci\u00f3n en el equipo editorial. \u00abNo hay caso, lo de la selecci\u00f3n est\u00e1 en lo m\u00e1s profundo del c\u00f3digo parece&#8230; tengo 15 noticias y solo 1 de Boca\u00bb, fue el reclamo documentado del usuario, seg\u00fan consta en los registros internos del desarrollo. Inicialmente, se sospech\u00f3 de un error en la interfaz gr\u00e1fica. El equipo prob\u00f3 modificando las categor\u00edas visuales, limpiando la cach\u00e9 del navegador y reiniciando por completo las tareas automatizadas de scraping. Nada de eso funcion\u00f3.<\/p>\n<h2>Arqueolog\u00eda en el c\u00f3digo: desenterrando la funci\u00f3n &#8216;fantasma&#8217;<\/h2>\n<p>La soluci\u00f3n lleg\u00f3 tras una minuciosa auditor\u00eda del c\u00f3digo fuente hist\u00f3rico del bot. Los desarrolladores descubrieron la ra\u00edz del problema: una funci\u00f3n residual bautizada como <strong>unselectAllMundialPending<\/strong>. Este fragmento de c\u00f3digo era un remanente directo de las pruebas realizadas durante la cobertura del Mundial 2026. A pesar de que la interfaz permit\u00eda al editor configurar nuevos t\u00e9rminos de b\u00fasqueda, esta funci\u00f3n &#8216;fantasma&#8217;, escrita de manera fija (hardcodeada) en el backend, segu\u00eda inyectando t\u00e9rminos relacionados con el mundial y la selecci\u00f3n en cada consulta HTTP que el bot realizaba a los portales de noticias.<\/p>\n<p>El hallazgo demostr\u00f3 un error cr\u00edtico en el desarrollo: se hab\u00eda subestimado el impacto de la deuda t\u00e9cnica. Se asumi\u00f3 que un filtro configurado en la interfaz gr\u00e1fica era suficiente, sin considerar que el backend pod\u00eda transportar l\u00f3gica obsoleta y dura heredada de iteraciones anteriores del software. La funci\u00f3n, pensada para ser temporal, se hab\u00eda convertido en una regla permanente e invisible.<\/p>\n<h2>La regla de oro para el desarrollo period\u00edstico-autom\u00e1tico<\/h2>\n<p>Este incidente, ocurrido el 21 de julio de 2026, dej\u00f3 un aprendizaje t\u00e9cnico fundamental para desarrolladores de scrapers, ingenieros de datos y equipos de investigaci\u00f3n period\u00edstica que dependen de estas herramientas:<\/p>\n<ul>\n<li><strong>El c\u00f3digo ejecuta reglas, no las contiene:<\/strong> Los t\u00e9rminos editoriales, las palabras clave de exclusi\u00f3n y las reglas de ingesta de datos nunca deben escribirse de forma fija (hardcodeada) en el c\u00f3digo fuente.<\/li>\n<li><strong>Entidades din\u00e1micas:<\/strong> Estos criterios deben ser entidades din\u00e1micas, almacenadas en una base de datos y ser completamente editables por el usuario final (el periodista o editor) sin necesidad de intervenci\u00f3n de un programador.<\/li>\n<li><strong>Auditor\u00edas peri\u00f3dicas:<\/strong> Es crucial realizar revisiones peri\u00f3dicas del c\u00f3digo para identificar y eliminar funciones residuales o l\u00f3gica obsoleta que pueda sabotear el funcionamiento actual.<\/li>\n<\/ul>\n<p>El caso del bot &#8216;escaloneta&#8217; se convirti\u00f3 en una an\u00e9cdota t\u00e9cnica aleccionadora, recordando que en la intersecci\u00f3n entre el periodismo y la tecnolog\u00eda, la claridad y flexibilidad del c\u00f3digo son tan importantes como la precisi\u00f3n de la informaci\u00f3n que se busca recolectar.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Un scraper destinado a recopilar noticias locales de clubes tucumanos insist\u00eda en traer solo informaci\u00f3n de la Selecci\u00f3n Argentina. La causa: una funci\u00f3n &#8216;fantasma&#8217; del Mundial 2026 escrita a fuego en el c\u00f3digo.<\/p>\n","protected":false},"author":2,"featured_media":51,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[24,26,11,25,12,10],"class_list":["post-52","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arquitectura-y-backend","tag-automatizacion","tag-backend","tag-desarrollo-de-software","tag-deuda-tecnica","tag-periodismo-de-datos","tag-scraping"],"_links":{"self":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts\/52","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/comments?post=52"}],"version-history":[{"count":0,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/posts\/52\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/media\/51"}],"wp:attachment":[{"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/media?parent=52"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/categories?post=52"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prensabot.com\/blog\/wp-json\/wp\/v2\/tags?post=52"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}