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

Davi Lima davilima6 em gmail.com
Sexta Março 1 17:06:46 BRT 2013


Muito bom! Você que criou? Coloca no Github. Ficaria bem como um serviço
web de dados abertos. As contribuições ficaram bastante ricas nessa
Consulta Pública. Faltaria em seguida uma forma melhor de visualizar,
agrupar (tags?) e gerar subprodutos (blog posts? cartilha wiki?) a partir
do conjunto de contribuições.

Abs!
Davi


2013/3/1 Marcio Mazza <marciomazza em gmail.com>

> 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))))
>
>
> _______________________________________________
> Comunidade Plone no Governo
> Site: http://www.softwarelivre.gov.br/plone
> Wiki: http://colab.interlegis.leg.br/wiki/PloneGovBr
> Lista: http://listas.interlegis.gov.br/mailman/listinfo/plonegov-br
>
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: http://listas.interlegis.gov.br/pipermail/plonegov-br/attachments/20130301/4abe8588/attachment.htm 


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