Estou tentando criar um programa ou script (vamos chamá-lo de Worker
) em execução no ambiente Linux (desejável seria Raspbian ou Debian), que coleta links de feeds RSS e os envia para outros 2 programas para processamento.
Aqui estão os passos específicos que Worker
deve fazer:
Analise vários feeds RSS de um documento de texto separados por uma nova linha
https://example.com/feed.xml?id1 nsfw
https://example.com/feed.xml?id2
https://example.com/feed.xml?id3
[...]
https://example.com/feed.xml?id9'
Extrair links de cada feed
Exclua links com palavras-chave específicas no elemento <title>
. Palavras-chave são definidas para cada feed no documento de texto separado do link respectivo por espaço assim:
https://example.com/feed.xml?id1 nsfw
e, se não estiver definido, não é necessário remover.
Classifique os links resultantes por data / hora com base no elemento <published>
. Exemplo:
<published>2018-07-27T01:02:03+00:00</published>
Envie o link mais recente para um programa handler
(é apenas um programa externo que já existe)
handler https://received-from-RSS.com/abc
Marque o link enviado como watched
(de preferência para fazê-lo apenas na memória, já que Ele deve ser executado no Raspberry Pi e eu gostaria de reduzir o uso do cartão SD)
Colete uma resposta do programa handler
, que deve conter outro link, e passe o link obtido de handler
para um programa player
player https://received-from-Handler.com/xyz
Aguarde até que player
termine a reprodução e feche. Em seguida, envie cronologicamente o próximo link (e ainda não marcado watched
) para o handler
E estamos repetindo os estágios 5 a 8.
A cada 30 minutos, Worker
deve atualizar links de feeds RSS, por exemplo repita os estágios 1 a 9, mantendo watched
links na memória e não os enviando para handler
.
Eu sinto que essa funcionalidade pode ser implementada no Bash ou no Python. Não tenho experiência em programação, mas preciso desesperadamente que o Worker
esteja em execução.
Então eu ficaria grato se você me dissesse alguns materiais de aprendizagem específicos ou exemplos de código que me ajudariam a escrever este programa em particular. Eu não estou pedindo para escrever para mim, eu apreciarei sua ajuda com qualquer passo em separado. Eu só preciso de algumas direções
Vou postar o resultado aqui quando terminar.