[plonegov-br] Scrapping dos comentários da consulta pública de CMS

Marcio Mazza marciomazza em gmail.com
Sexta Março 1 16:52:11 BRT 2013


Esse código produz um arquivo com todos os comentários da consulta. Corram
com seus comentários. É só até as 23h59min de hoje.

Precisa só do lxml instalado.
sudo apt-get install libxml2-dev libxslt1-dev
pip install lxml

-------------------------------------------------------------------

from lxml.html import document_fromstring
from lxml.html import builder as E

def ler(url):
    source = urllib2.urlopen(url).read()
    return document_fromstring(source)

url_base = 'https://www.consultas.governoeletronico.gov.br'
pagina_principal = ler(url_base +
'/ConsultasPublicas/item.do;jsessionid=B4CE7365B82B0983C81BB482A4224958?acao=exibir&idConsulta=113&id=651')
urls_comentarios = [url_base + l.attrib['href'] for l in
pagina_principal.cssselect('#texto .linkAcompanhar')]
paginas_comentarios = [(url, ler(url)) for url in urls_comentarios]
comentarios = []
for url, p in paginas_comentarios:
    fieldset = p.cssselect('fieldset')
    assert len(fieldset) == 1, '%s: %s' % (url, len(fieldset))
    f = fieldset[0]
    f.attrib['class'] = 'contribuicao'
    f.insert(1, E.DIV(E.CLASS('fonte'), 'Baixado de ', E.A(url, href=url)))
    comentarios.append(f)
with open ('comentarios.html', 'w') as f:
    f.write(html.tostring(E.HTML(E.BODY(*comentarios))))
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.interlegis.gov.br/pipermail/plonegov-br/attachments/20130301/2003ab84/attachment.htm 


Mais detalhes sobre a lista de discussão PloneGov-BR