Ir para o conteúdo
Triton

[Python] Leitor de Feeds (RSS & Atom)

Mensagens Recomendadas

Triton    12
Triton

Como não tinha nada para fazer, programei um leitor de feeds rudimentar em Python.

import feedparser

feed = 'http://rss.slashdot.org/Slashdot/slashdot'

f = feedparser.parse(feed)

def showinfo():
   print f.feed.title
   print f.feed.subtitle
   print f.feed.link

def shownews():
   print
   print 'Latest news:'
   print
   for i in xrange(len(f.entries)):
       print '%i)' % (i+1), f.entries[i].title

def shownew(n):
   print
   print f.entries[n].title, '-', f.entries[n].date[:10]
   print
   print f.entries[n].description.split('<p>')[0].strip()

showinfo()
shownews()

while 1:
   print
##    i = raw_input('Choose a new to read (q to quit): ')
##    if not i.isalpha():
##        shownew(int(i)-1)
   try:
       i = input('Choose a new to read: ')
   except:
       break
   shownew(int(i)-1)
   print
   s = raw_input('Press any key to continue...')
   shownews()

Precisam do módulo FeedParser: http://feedparser.org/

EDIT: Nova versão, já não tem o "problema" dos links!

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
neon_prannock    0
neon_prannock

Fiquei curioso e decidi experimentar... Funciona muito bem!  :P

Apenas não processa algumas tags de html que vêem acrescentadas com algumas feeds mas no geral dá um bom resultado.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Fiquei curioso e decidi experimentar... Funciona muito bem!  :P

Apenas não processa algumas tags de html que vêem acrescentadas com algumas feeds mas no geral dá um bom resultado.

Como disse fiz o programa muito rapidamente, não é nada de especial, mas fico contente que alguém tenha comentado, esta secção de Python está sempre às moscas.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

cool... o feed parser é curtido.

Bom exemplo para o pessoal ver o potencial desta tecnologia ( xml )

Tambem o estoua usar numa aplicacao que estou a desenvolver para manutencao de blogs. Fiquei surpreendido coma quantidade de códigopython disponivel por aí... pensei que ferramentas uteis como esta só estivessem amplamente disponiveis em php.

já agora.... triton... habitua-te a escrever os cabeçalhos com informação relevante e segundo as normas... para que possam ser facilmente documentados. E faz tambem o scriptzito de instalação das tuas aplucacoes como módulos, para que sejam mais facilmente reusáveis por ti e por todos.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Knitter    101
Knitter
Para que ia usar DocStrings numa coisa tão simples?

Para que alguém que queira aprender com o teu código consiga,por exemplo :P

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

Não sei se sabes como funciona o Python, mas qualquer pessoa pode chegar ao script e fazer import nome_do_script e já o pode utilizar. O setup.py é usado para módulos um bocadito mais complicados e qual é o interesse de instalar isto na pasta do Python? Um simples python.exe nome_do_file.py e está resolvido.  :biggrin:

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

basta fazer import e o nome do ficheiro??? confesso que nao sabia.

De qq modo, o interesse é muito:

-ficando como módulo na pasta do python está acessível a partir de qq path.

-o código fica normalizado, a organização é muito importante quando se trabalha em vvarios projectos de dimensoes grandes

-instalção com duplo clique por qq utilizador

etc etc etc

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

triton... arranquei com o wxpython, foi muuuuuuuuuuito mais facil do que eu estava à espera... então com a ajuda do wxglade... OMG.

como é, avançamos com um leitor de new todo pipi com um GUI?

Acho que podia ser uma enorme publicidade aqui para o fórum visto ser um prograa com um grupo de utilizadores alvo gigantesco.

EDIT: estive a dar uma olhadela no teu código até para me familiarizar como diferentes pessoas usam o python. Tens aí uma má prática de programação.

Apesar de as variáveis estarem todas a uso no seu scope, n é boa prática definir funções que não recebem os parametros que usam não sendo estes constantes definidas no inicio. Essas funções todas que definiste deviam receber o feed. Claro que neste caso não há problema, mas se escreveres um programa mais extenso esta via é meio caminho andado para ficares completamente perdido em relação ao scope das variáveis. E depois acabas por perder mais tempo com erros e abres lugar a buracos de segurança.

PS: scope scope scop... que raio... uma tradução de scope para portugues...alguem?

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
Triton    12
Triton

triton... arranquei com o wxpython, foi muuuuuuuuuuito mais facil do que eu estava à espera... então com a ajuda do wxglade... OMG.

como é, avançamos com um leitor de new todo pipi com um GUI?

Acho que podia ser uma enorme publicidade aqui para o fórum visto ser um prograa com um grupo de utilizadores alvo gigantesco.

EDIT: estive a dar uma olhadela no teu código até para me familiarizar como diferentes pessoas usam o python. Tens aí uma má prática de programação.

Apesar de as variáveis estarem todas a uso no seu scope, n é boa prática definir funções que não recebem os parametros que usam não sendo estes constantes definidas no inicio. Essas funções todas que definiste deviam receber o feed. Claro que neste caso não há problema, mas se escreveres um programa mais extenso esta via é meio caminho andado para ficares completamente perdido em relação ao scope das variáveis. E depois acabas por perder mais tempo com erros e abres lugar a buracos de segurança.

PS: scope scope scop... que raio... uma tradução de scope para portugues...alguem?

Neste caso não há problema, mas em projectos de maior envergadura convém sempre fazer isso de forma a não teres problemas.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
p4n    0
p4n

triton... arranquei com o wxpython, foi muuuuuuuuuuito mais facil do que eu estava à espera... então com a ajuda do wxglade... OMG.

como é, avançamos com um leitor de new todo pipi com um GUI?

Acho que podia ser uma enorme publicidade aqui para o fórum visto ser um prograa com um grupo de utilizadores alvo gigantesco.

Isso era uma coisa engraçada..

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
pedrotuga    31
pedrotuga

Yaps... mas como já há tanto leitor por aí fora decidi fazer outra coisa. Se alguem quiser aproveitar a ideia... força.

Não vou usar python desta vez nem wxglade. Vou experimentar XUL! ;) Tenho que usar javascript portanto.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade