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

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


Rodei agora e coloquei o resultado na página
http://colab.interlegis.leg.br/wiki/ConsultaPublicaCMS

Podem usar para conferir se não falta nada a comentar/ajustar.


On 1 March 2013 16:52, Marcio Mazza <marciomazza em gmail.com> wrote:

> 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/24785e15/attachment.htm 


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