Hola, José María,
Precisamente el artículo que hemos sacado hoy [1] se basa en los datos Atom de Contratación del Estado. No en los “contratos basados en acuerdos marco”, esos no los hemos trabajado, sino en los otros, los “datos abiertos” de licitaciones, tanto para la plataforma nacional como para las autonómicas sindicadas. Tengo pendiente poner un poco de orden en el código y publicarlo, pero hasta entonces encantado de responder cualquier duda.
Yo en concreto suelo trabajar en Ruby, creo que tú usas Python, no? Hemos tratado los Atom como ficheros XML estándar, que al final es un poco lo que son, así que los hemos paseado con Nokogiri. Creo que el equivalente en Python sería BeautifulSoup.
Nuestro problema principal no ha sido tanto la estructura del fichero en sí, sino que hay bastantes errores en los datos en sí, y que entender lo que hay ahí no siempre es fácil: los códigos de algunos campos, o qué significan ciertos campos. Además, los datos de la plataforma principal y de las sindicadas no siempre son consistentes. (Las plataformas externas no tienen ProcurementProjectLot por ejemplo).
Para cualquier duda concreta aquí estoy. Un saludo,
[1]:
https://civio.es/quien-cobra-la-obra/2021/03/23/cuatro-empresas-se-llevaron-uno-de-cada-diez-euros-adjudicados-de-emergencia-en-2020/
[2]:
https://nokogiri.org