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

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


Esse é só um scrapping sujão, pra gente conferir. Basicamente para fazer
busca em uma página só.

Alguém tem é que fazer um sistema novo de consulta pública para esse
pessoal. Aquele lá está bugado.

Então, pessoal... confiram lá, rodem o script de vez em quando e atualizem
a página do colab.


On 1 March 2013 17:06, Davi Lima <davilima6 em gmail.com> wrote:

> 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
>>
>>
>
> _______________________________________________
> 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/eda6db8c/attachment.htm 


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