Desafío
Escriba un programa que, utilizando los datos XML del sitio aquí , muestre el nombre del programa que se muestra actualmente en BBC 1.
Información
Todos los horarios se dan a la hora de Londres (GMT + 1 en el momento de la publicación y GMT + 0 después del 30 de octubre). Por lo tanto, debe convertir su hora local a la hora de Londres.
Cada programa tiene una hora de inicio y finalización. Si la hora actual es posterior a la hora de inicio y antes de la hora de finalización de un programa, ese programa se muestra actualmente. Su programa puede manejar superposiciones de la forma que desee.
Su salida debe ser el título del programa, así:
BBC News
Sin embargo, si el programa tiene un subtítulo (mostrado por la presencia de la etiqueta de subtítulo), la salida debería ser así:
Steptoe and Son: The Piano
Donde Steptoe and Son es el título y The Piano es el subtítulo. Un programa de ejemplo con un subtítulo es el siguiente:
<programme>
<subtitle>Newcastle</subtitle>
<title>Flog It!</title>
<end>1710</end>
<start>1610</start>
<desc>
Antiques series. Paul Martin presents from the Discovery Museum in Newcastle. The items uncovered include a book of autographs with a local connection. Also in HD. [S]
</desc>
</programme>
Los acortadores de URL no están permitidos, pero las bibliotecas de análisis XML están permitidas.
Victorioso
El código más corto en bytes gana.
Respuestas:
Bash + curl + XMLStarlet, 166 caracteres
Ejecución de muestra:
fuente
Python,
440428426398395 Bytes-31 Bytes gracias a @Loovjo
Lanza un error cuando encuentra la fecha.
No me hagas daño por analizar xml con regex.
versión con un analizador xml, 398 bytes
fuente
break
con algo que cause un error (como1/0
(o tal vez incluso_
)). Estoy bastante seguro de que sus envíos pueden salir con un error.urllib
a utilizarrequests
en su primer ejemplo:x=requests.get(link).text.split("</p")[:-1]
. Eso te ahorrará 2 bytes.