Desafio
Escreva um programa que, usando os dados XML do site aqui , exiba o nome do programa que está sendo exibido atualmente na BBC 1.
Em formação
Todos os horários são indicados no horário de Londres (GMT + 1 no momento da postagem e GMT + 0 após 30 de outubro). Portanto, você deve converter sua hora local para a hora de Londres.
Cada programa recebe um horário de início e de término. Se o horário atual for posterior ao horário de início e antes do horário de término de um programa, esse programa será exibido no momento. Seu programa pode lidar com sobreposições da maneira que desejar.
Sua saída deve ser o título do programa, assim:
BBC News
No entanto, se o programa tiver uma legenda (mostrada pela presença da etiqueta da legenda), a saída deve ser a seguinte:
Steptoe and Son: The Piano
Onde Steptoe and Son é o título e The Piano é a legenda. Um exemplo de programa com legenda é o seguinte:
<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>
Os encurtadores de URL não são permitidos, mas as bibliotecas de análise XML são permitidas.
Ganhando
O código mais curto em bytes vence.
Respostas:
Bash + curl + XMLStarlet, 166 caracteres
Exemplo de execução:
fonte
Python,
440428426398395 bytes-31 Bytes graças a @Loovjo
Lança um erro ao encontrar a data.
Por favor, não me machuque por analisar xml com regex.
versão usando um analisador xml, 398 bytes
fonte
break
por algo que causa um erro (como1/0
(ou talvez até_
)). Tenho certeza de que seus envios podem sair com um erro.urllib
para usarrequests
em seu primeiro exemplo:x=requests.get(link).text.split("</p")[:-1]
. Isso economizará 2 bytes.