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

Revisão 1e 2004-09-10 18:35:28

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/group/python-brasil/messagesearch?query='+quote(query)).read()
  17     links = re.findall('<a href="/group/python-brasil/message/(.*?)">',conteudo)
  18     titulos = re.findall('"/group/python-brasil/message/[0-9]*">(.*)</a>',conteudo)
  19 
  20     # ve se retornou algum titulo e algum link
  21     if links and titulos:
  22         pass
  23     else:
  24         return None
  25 
  26     # cria um dicionario
  27     dicionario = {}
  28 
  29     # loop pra criar o dicionario
  30     x = 0
  31     for i in links:
  32         dicionario[i] = titulos[x]
  33         x = x + 1
  34 
  35     # retorna o dicinario recem-criado
  36     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.


Nome do autor da Receita