associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Revisão 2e 2004-10-18 01:50:19

Excluir mensagem

BuscaPyBrasil

Receita: BuscaPyBrasil

Código que faz uma busca no site do yahoogrupos, especificamente no grupo python-brasil, por alguma mensagem com o conteúdo passado como argumento. E por fim a função retorna um dicionário.

Código

   1 # Search for messages of python-brasil on yahoo
   2 
   3 import re
   4 import urllib2
   5 from urllib import quote
   6 import sys
   7 
   8 def busca_pybrasil(query):
   9     """
  10     Funcao que busca por determinada query no site do yahoogrupos, python-brasil,
  11     e retorna um dicionario com: 'idmensagem':'titulo mensagem'
  12 
  13     TODO: Implementar no dicionario as paginas coseguintes (proximas..)
  14     """
  15     # variaveis
  16     conteudo = urllib2.urlopen('http://br.groups.yahoo.com/' + \
  17         'group/python-brasil/messagesearch?query='+quote(query)).read()
  18     links = re.findall('<a href="/group/python-brasil/message/(.*?)">',conteudo)
  19     titulos = re.findall('"/group/python-brasil/message/[0-9]*">(.*)</a>',conteudo)
  20 
  21     # ve se retornou algum titulo e algum link
  22     if links and titulos:
  23         pass
  24     else:
  25         return None
  26 
  27     # cria um dicionario
  28     dicionario = {}
  29 
  30     # loop pra criar o dicionario
  31     x = 0
  32     for i in links:
  33         dicionario[i] = titulos[x]
  34         x = x + 1
  35 
  36     # retorna o dicinario recem-criado
  37     return dicionario

Exemplo de uso

   1 # imports
   2 import re
   3 import urllib2
   4 from urllib import quote
   5 import sys
   6 
   7 # exemplo
   8 print busca_pybrasil('ternario')

Volta para CookBook.