Learning by examples

0 views
Skip to first unread message

Alexandre Gomes

unread,
May 20, 2011, 7:56:25 AM5/20/11
to thac...@googlegroups.com, thack...@lists.riseup.net
Aproveitando a deixa, mês passado, dei uma aula [1] sobre isso e criei um projeto [2] pra deixar como referência pros alunos. Não é nada complexo. Só quis mostrar o caminho (inicial) das pedras mesmo, já que o trabalho final que pedi na disciplina foi um hack de dados governamentais :-)

Pretendo depois evoluir o projeto com exemplos em outras linguagens (Python, Java, Perl...). Por enquanto, foi o que deu pra fazer. Forks são bem vindos.

[2] https://github.com/alegomes/scraping-by-examples


[]s!


2011/5/19 Pedro Markun <pe...@esfera.mobi>
Poppi,

vou mandar numa outra thread uma chamada prum workshop expresso de scraperwiki... passou da hora de eu articular isso.

pontualmente, tem varias maneiras de preparar esse neston.

O BeautifulSoup pode procurar por qualquer atributo, não só por classes. Então tem algumas maneiras de fazer isso:

linhas = soup.findAll("tr") <- acha todas as linhas
for linha in linhas:
    coluna = linha.findAll("td", { "width" : "500" }) <- acha todas as colunas com width 500 (mas podia ser também a class 'linha')
    Proposicao = coluna[0].text.strip()
    Ementa = coluna[1].text.strip()

e por ai vai...

Isso só funciona se todas as páginas tiverem todas as colunas. Da pra comparar o texto do label também com:

soup.find("td", text="texto")

Pra quem não entendeu um caralho e quer entender, aguarde :P Vou montar um cursinho de scrapyourself!

abs,
Pedro Markun


2011/5/19 Ricardo Poppi <rica...@gmail.com>
Aê galera, nesses dias de #cici2011 animei de tentar montar um banco de dados dos PLs que estão tramitando na CLDF. A parada tá meio fácil, o link deles aceita parametro e solta uma table html. Minha dificuldade está sendo fazer o scraperwiki/beautifullsoup detectar as tables corretamente.

Vamos às infos:


2- Descrição dos parâmetros: http://www.cl.df.gov.br/Legislacao/consultaProposicao-<tipo_de_proposicao>!<numero_da_proposicao>!<ano_da_proposicao>!visualizar.action

<tipo_de_proposicao> => É um número de acordo com uma regra interna do sistema [1]
<numero_da_proposicao> => Numero do projeto mesmo
<ano_da_proposicao> => Ano da apresentação do projeto

3- Tentei montar um scraper baseado no do senado feito pelo Markun. Como já falei minha dificuldade é recuperar o dado das tables já que as divs não tem nome e a classe das tables - "tdLabel" - é sempre a mesma. Alguém tem uma dica? Esse é o meu scraper: http://scraperwiki.com/scrapers/tramitacao-cldf/

[1]
1- Projeto de Lei 
8- Projeto de Lei Complementar 
9- Proposta de Emenda à Lei Orgânica 
6- Projeto de Decreto Legislativo 
5- Projeto de Resolução 
2- Indicação 
4- Moção 
7- Recurso 
3- Requerimento 

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Transparência Hacker" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para thac...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para thackday+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/thackday?hl=pt-BR.

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Transparência Hacker" dos Grupos do Google.
Para postar neste grupo, envie um e-mail para thac...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para thackday+u...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/thackday?hl=pt-BR.

Pedro Markun

unread,
May 20, 2011, 9:20:28 AM5/20/11
to thac...@googlegroups.com, thack...@lists.riseup.net
Pô Ale,

valeu por compartilhar! Sobe lá como um projetim no Site da THacker?

abs,
Pedro Markun

2011/5/20 Alexandre Gomes <aleg...@gmail.com>
Reply all
Reply to author
Forward
0 new messages