Pergunta

Como exercício no RSS, gostaria de poder pesquisar praticamente todas as discussões do UNIX neste grupo.

Comp.unix.shell

Conheço o Python o suficiente e entendo RSS básico, mas estou preso ... como pego todas as mensagens entre datas específicas, ou pelo menos todas as mensagens entre o enésimo recente e o MTH RECENTE?

Descrições de alto nível, o pseudo-código é bem-vindo.

Obrigada!

EDITAR:

Eu gostaria de poder voltar mais de 100 mensagens, mas não pegando como analisar 10 mensagens em um momento como usar este URL:

http://groups.google.com/group/comp.unix.shell/topics?hl=en&start=2000&sa=n

Deve haver uma maneira melhor.

Foi útil?

Solução

Como Randal mencionou, isso viola os TOs do Google - no entanto, como hipotético ou para uso em outro site sem essas restrições que você pode facilmente montar algo com urllib e Belo grupo. Use Urllib para abrir a página e, em seguida, use o BeautifulSoup para pegar todos os tópicos do thread (e links, se você quiser se arrastar mais fundo). Em seguida, você pode encontrar programaticamente o link para a próxima página dos resultados e, em seguida, fazer outro urllib para ir para a página 2 - depois repita o processo.

Nesse ponto, você deve ter todos os dados brutos, é apenas uma questão de manipular os dados e implementar sua funcionalidade de pesquisa.

Outras dicas

Rastrear grupos do Google viola o Termos de Serviço do Google, especificamente a frase:

Use qualquer robô, aranha, aplicação de pesquisa/recuperação de site ou outro dispositivo para recuperar ou indexar qualquer parte do serviço ou coletar informações sobre os usuários para qualquer propósito não autorizado

Tem certeza de que deseja anunciar que está fazendo isso tão abertamente? E você está cego para as consequências do seu resultado?

Por n recente, parece que você poderia passar o parâmetro ?num=50 ou algo no URL da alimentação

Por exemplo, 50 novas mensagens do grupo Comp.unix.shell

http://groups.google.com/group/comp.unix.shell/feed/atom_v1_0_msgs.xml?num=50

e depois pegue um programa de feedparser como Analisador de alimentação universal

.update_parsed opção em Feedparser, você pode usar isso para verificar a msg dentro de um intervalo específico

>>> e.updated_parsed              # parses all date formats
(2005, 11, 9, 11, 56, 34, 2, 313, 0)

Você já pensou em Yahoos YQL? Não é tão ruim e pode acessar muitas APIs. http://developer.yahoo.com/yql/

Não sei se os grupos são suportados, mas você pode acessar feeds RSS. Pode ser útil.

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