• Caro Visitante, por que não gastar alguns segundos e criar uma Conta no Fórum Valinor? Desta forma, além de não ver este aviso novamente, poderá participar de nossa comunidade, inserir suas opiniões e sugestões, fazendo parte deste que é um maiores Fóruns de Discussão do Brasil! Aproveite e cadastre-se já!

Uma forma diferente de acompanhar fóruns phpBB

dermeister

Ent cara-de-pau
Essa é rapidinha, e talvez eu esteja enviando isso para o lugar errado, mas se alguém se interessar, faz algumas horas que terminei de escrever esse script Perl para extrair tópicos de fóruns baseados no phpBB e exportá-los dinamicamente para leitores RSS. A economia de tempo para quem costuma visitar vários fóruns é considerável, já que você acaba visitando só aqueles que tem algo novo/interessante.

O script foi feito para rodar em Linux, mas funciona em outros unices (ou mesmo no windows) desde que tenham o Perl e o wget instalados.

O resumo do fórum é exibido assim [1]:
shot_phpbb2ff.png



No manual do script disse:
- OBJETIVO

Este script lê a lista de tópicos de fóruns baseados no phpBB2
(http://www.phpbb.com) e os apresenta em um formato XML legível
por leitores RSS. Em suma, permite o acompanhamento de fóruns
de discussão através de um leitor RSS (como o Liferea --
http://liferea.sourceforge.net).

ATENÇÃO: Vale lembrar que esse script lê os dados a partir do HTML
existente no fórum! Qualquer mudança no fórum provavelmente o fará
parar de funcionar!

O script funciona bem com os temas padrões do phpBB2 (testei bastante
com o subSilver). Temas que diferem deste apenas pela formatação
*provavelmente* funcionarão. Temas com alterações estruturais no HTML
*dificilmente* funcionarão.




- DEPENDÊNCIAS

O script foi escrito em Perl, e usa o GNU wget para obter o conteúdo
das páginas. Estes dois são comumente encontrados em sistemas Unix e
vem por padrão na maioria das distribuições Linux.

Um leitor RSS que suporte a obtenção de feeds a partir da saída de
comandos também é necessário, mas caso seu leitor preferido não suporte
isso, você pode usar o cron (8) para rodar o script de tempos em tempos,
redirecionar sua saída para um arquivo temporário e configurar seu leitor
para obter os dados a partir desse arquivo.



- LICENÇA DE USO

Este programa é um software livre que pode ser copiado e distribuído
nos termos da Licença Pública Geral GNU (GNU General Public License -
GPL) versão 2 da licença ou, a seu critério, qualquer versão posterior.
Este programa foi criado na expectativa de ser útil, porém NÃO POSSUI
NENHUMA GARANTIA, EXPRESSA, IMPLÍCITA OU DE ATENDIMENTO A ALGUMA
DETERMINADA FINALIDADE. Para maiores informações consulte o texto
completo da Licença Pública Geral GNU no arquivo COPYING distribuído
juntamente com este programa.



- INSTALAÇÃO

Sem segredos aqui. Simplesmente copie o arquivo "phpbb2ff.pl" para algum
lugar no seu path (/usr/local/bin é uma boa opção).




- CONFIGURAÇÃO

Aqui há um pequeno truque: o script precisa saber o endereço raiz do
fórum e o número do fórum que você deseja ler. A sintaxe é:

phpbb2ff.pl <endereço> <número>

Obter o número é simples. Digamos que você queira acompanhar o fórum
"phpBB Support", um dos fóruns existentes no site do phpBB. Para isso,
acesse a lista de fóruns ( http://www.phpbb.com/phpBB/ ) e copie o link
para o fórum desejado - que é http://www.phpbb.com/phpBB/viewforum.php?f=1

O número do fórum é o argumento do parâmetro "f", e o endereço vai até
a última barra. Para este caso, a linha de comando fica:

phpbb2ff.pl http://www.phpbb.com/phpBB/ 1

Não esqueça a barra! Digite isso na linha de comando e faça o teste! Se
tudo funcionar, configure seu leitor RSS para extrair os feeds a partir
desse comando.



- BUGS CONHECIDOS

O script não manupula corretamente os tópicos estáticos (que parmanecem
sempre no início das listagens) ou que apareçam em mais de um fórum
(esses acabam duplicados).

É recomendável desabilitar o cachê so seu leitor RSS, caso contrário,
os tópicos irão aparecer duplicados a cada nova atualização.



- MINI FAQ

P: O que levou você a escrever esse script?

R: Costumo acessar certos fóruns baseados no phpBB2 com relativa
frequência, e estava perdendo muito do meu precioso tempo *apenas* para
ver se há algo novo neles. Já uso feeds RSS a algum tempo para agilizar
o acesso a conteúdo na WEB, e consultar os fóruns por RSS me pareceu
natural. Infelizmente, apesar de o phpBB2 ter mods para emitir a lista de
tópicos em RSS ( veja http://www.phpbb.com/phpBB/catdb.php?cat=56 ), são
poucos fóruns possuem esse recurso instalado. Veio então a necessidade
de extrair essas informações a partir do HTML, coisa que eu já tinha
feito para outros sites e fóruns.


P: Porque Perl e wget?

R: Foi uma escolha natural: Perl é uma linguagem padrão nos sistemas Unix,
e é realmente poderosa quando o assunto é manipulação de texto. Use o
wget para não cair na estupidez de reinventar a roda.


P: O script funciona no Windows?

R: Provavelmente. Não testei e não vou testar, mas se você quiser fezê-lo,
pegue um porte do Perl e do GNU wget para Windows (comece procurando
na Sourceforge). Duvido que exista algum leitor de feeds para Windows
que suporte a obtenção de dados a partir da saída de comandos, mas você
pode resolver isso com arquivos temporários e alguma ferramenta para
agendamento de tarefas.


P: Porque o script pode parar de funcionar a qualquer momento?

R: O script lê HTML e a extração do conteúdo depente deste. Apesar
de o script tomar uma série de cuidados para isolar a formatação do
conteúdo semanticamente útil, mudanças no HTML o uso de temas não usuais
PROVAVELMENTE farão ele se perder.


P: Por que a licença GPL? Porque o script não tem garantias?

R: Escrevi este script para atender uma necessidade pessoal, que
acredito também existir para outras pessoas e a GPL permite que este
script seja adaptado por outros e para outras necessidades. Por fim,
o script foi escrito para atender a uma necessidade minha, mas eu o
disponibilizo gratuitamente para você. Pegue, teste e -- se funcionar
-- use. Só não venha me culpar caso o script pare de funcionar e você
não seja informado a tempo do último discurso ridículo do Bush, atentado
terrorista ou invasão alienígena.


P: O script parou de funcionar, o que eu faço?

R: *Talvez* eu já o tenha corrigido. Experimente pegar a última versão.


P: O script parou de funcionar e a última versão não funciona, mas eu
corrigi ele. Posso mandar para você?

R: Claro! Eu o colocarei no site para que outros possam usá-lo.


P: Estou com problemas/dúvidas com o script, posso pedir ajudar para
você por e-mail?

R: Você pode, mas não posso garantir que vou responder a tempo. E-mails
gigantes, com dúvidas sobre como usar esse script no Windows ou com
palavras como "naum"/"axu"/"keru"/etc. serão graciosamente redirecionados
para /dev/null.


--
[1] Desculpem pela imagem gigante, mas o fórum não está deixando eu postar um link para ela.
 
Script atualizado com a correção de alguns problemas e adição de novos recursos.

No ChangeLog disse:
- Agora a saída usa a especificação RSS 1.0
- Controle de tópicos lidos, só reexibe tópicos que tenham recebido novas
respostas desde a última leitura.
- Suporte ao namespace Dublin Core 1.1 para indicação do tópico e autor.
- Detecção automática do charset utilizado.

O download pode ser feito em http://users.netuno.com.br/aittner/data/phpbb2ff.tar.gz

Have fun!
 

Valinor 2023

Total arrecadado
R$2.434,79
Termina em:
Back
Topo