In [27]:
from bs4 import BeautifulSoup
import re
In [28]:
def markdown(html, regexes):
# - html is the HTML documents to be marked
# - regexes is a dictionary of labels and regular expressions.
for classname, regex in regexes.items():
pattern = re.compile(regex)
soup = BeautifulSoup(html, 'html5lib')
for string in soup.strings:
print(repr(string))
if re.search(pattern, repr(string)):
# class is a reserved word in Python, so we need to do some hacking here in order to enter it as a parameter.
string.wrap(soup.new_tag('div', **{'class':classname}))
return soup.prettify()
In [3]:
html = '<html><meta charset="UTF-8"/>Secretaria Municipal do Habitat<p class="MsoTitle">Secretaria Municipal de Habitação</p> \
<p align="center" class="MsoNormal"><b>Extrato de Instrumento</b></p><p class="MsoNormal"> \
<u>PROCESSO</u>:16/001. 083/2010</p><p class="MsoNormal"><u>TERMO ADITIVO</u>:003/2013 ao Contrato 034/2012</p> \
<p class="MsoNormal"><u>DATA:</u>30/01/2013</p><p class="MsoNormal"><u>PARTES:</u> \
SMH/ CONCREMAT ENGENHARIA E TECNOLOGIA S/A</p><p class="MsoNormal"><u>OBJETO:</u> \
Readequação das planilhas orçamentárias, sem acréscimo de valor, em 6,61% (seis virgula sessenta e um por cento), \
seguindo as informações da fiscalização de fls. 1061/1062, nos termos do art. 65, I, b. e §1º da Lei 8.666/93.</p> \
<p class="MsoNormal">Readequação do cronograma físico-financeiro, de acordo com a planilha acostada as fls. 1060.</p> \
<p class="MsoBodyTextIndent"><u>FUNDAMENTO:</u>art.65, I , “b” e §1º da Lei 8.666/93.</p></html>'
In [29]:
regexes = {'address':'Instrumento'}
return_html = markdown(html, regexes)
In [30]:
print(return_html)
In [31]:
import pickle
In [32]:
favorite_color = { "lion": "yellow", "kitty": "red" }
pickle.dump( favorite_color, open( "save.p", "wb" ) )
In [ ]: