Skip to content

Tag: Python

Função MD5 em Python

MD5, Message-Digest algorithm 5, é um algoritmo de hash de 128 bits, unidirecional. Ele é muito útil como método de verificação de integridade de arquivos, armazenamento de senhas, criptografia ou para hashing em geral. Eu utilizo ele com muita frequência.

Em Python você calcula o hash de uma string em duas linhas:

import md5
print md5.new('silveira').hexdigest()

O md5.new() retorna um objeto que cria md5. Ele é bem flexível e pode ser utilizado várias vezes. O hexdigest é a representação hexadecimal do md5, aquela que pode ser impressa.

Esse código imprime isso:

3df2175295d900d6f0c2f3a521d957cd

Que é o md5 de silveira.

Manipulando HTML com Python

Criar um parse de XML em Python é trivial, especialmente quando se trata de um documento HTML.

Nesse exemplo, criamos uma classe Parser que vai informar quando se abre ou fecha uma tag. Depois que criamos e instanciamos o Parser, alimentamos ele com o método feed com um documento HTML. Esse documento é pego através do urlopen do módulo urllib, que é um stream e portanto usamos o método read para leitura.

from HTMLParser import HTMLParser
from urllib import urlopen
 
class Parser(HTMLParser):
   def handle_starttag(self, tag, attrs):
      print "abre tag %s" % tag
   def handle_endtag(self, tag):
      print "fecha tag %s" % tag
 
url = 'http://www.silveiraneto.net'
Parser().feed( urlopen(url).read() )

Esse é um exemplo bem legal se você quiser brincar com mineração ou obtenção de dados.