[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