Pergunta

Parte de um aplicativo que estou construindo necessidades para verificar feeds RSS para atualizações. Eu estou procurando uma maneira confiável para saber se um feed tem novas entradas.

Eu sei que às vezes as pessoas fazem as mensagens para o futuro e, depois disso, as mensagens para o tempo presente que poderia causar algumas entradas para ser escondida. Parece que poderia haver mais complicações do que isso, também. Sei também que hashing o título ou conteúdo resultaria em mau desempenho e resultados não confiáveis ??uma vez que aqueles podem mudar e não são um sinal de novas entradas. E eu sei que há alguns anos atrás, quando eu estava mantendo um podcast feed RSS manualmente eu nunca mudou o item.

Então, eu preciso de alguma forma para confiantemente verificar RSS, Atom, etc alimentos para novas entradas desde que foram durou marcada.

Especificamente, esta aplicação será escrito em Python para o Google App Engine usando Universal de alimentação Analisador , mas eu dúvida de que assuntos muito neste caso.

Foi útil?

Solução

Você pode usar um GET condicional pela adição de um If-Modified-Since ao seu pedido http. Bem comportado servidores irá retornar um 304 modificado se não houver alterações.

Outras dicas

itens de alimentação tem um id único e / ou um URL que é provável que seja único. Hash apenas aqueles em conjunto para obter uma maneira rápida e razoável para detectar alterações. Mas a única maneira de ter certeza absoluta seria de hash o conteúdo como você disse.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top