Criando um Web Crawler para pegar as informações diretamente no site do Cartola FC

Neste post vou ensinar como criar um web crawler para pegar as informações no site do Cartola FC e assim criar suas próprias estatísticas, índices, etc... Mas afinal, o que é um web crawler? Segundo a Wikipedia,  "é um programa de computador que navega pela World Wide Web de uma forma metódica e automatizada.". No caso do Cartola FC, queremos acessar o site e pegar todas as informações referentes a tabela de busca, de todos os jogadores.

Então a ideia básica é acessar o site do Cartola FC, pegar o código fonte e tratá-lo de alguma maneira de forma a restar apenas as informações que são de seu interesse.

A imagem abaixo exibe como exemplo o jogador Fred (com a tabela que é apresentada ao usuário) e um respectivo pedaço do código fonte.


Porém analisar o código fonte desta forma é trabalhoso e não muito funcional, pois temos de tratar a situação da mudança de página por exemplo.

Então uma forma alternativa de estudar a tabela é vendo quais conexões são usadas ao alterar algum parâmetro da criação da tabela e ver se existe uma forma mais direta de acessar os dados (no caso do Google Chrome basta ir em 'inspecionar elemento'). Ao vermos as conexões que são usadas ao acessar a página 2 de busca, eis que a mágica surge.


Sendo assim, conseguimos acessar os dados de busca diretamente pela URL fornecida (http://cartolafc.globo.com/mercado/filtrar.json?page=1&order_by=preco). Agora que você possui esta URL basta copiar e colar diretamente no endereço do seu browser que você terá acesso a todos os dados em um formato JSON. Basta operar um loop mudando o '...page=1...' para 2,3,...,43 e assim você terá pego todos os dados.

No próximo post vou por o código para fazer isso utilizando a linguagem R.

Para quem quiser os dados em formato .csv, aqui está:

https://dl.dropboxusercontent.com/u/46482875/rodada1-brasileirao.csv



Comments

4 Responses to "Criando um Web Crawler para pegar as informações diretamente no site do Cartola FC"
  1. gravatar Mizu says:

    Opa! Blz? Grande dica! Estou aguardando seu prox. post!

    Voce por acaso tem o CSV das outras rodadas também?

    Abs e parabens pela iniciativa

  2. gravatar Evandro says:

    Olá,

    Bom, acabei abandonando o que estava fazendo. Mas tenho os dados sim, exceto o da penúltima rodada que esqueci de pegar. Haha. Mas basta me mandar um e-mail que eu te envio.

  3. gravatar Anônimo says:

    Cara, sabe como fazer isso com PHP? O cURL não tá rolando.

  4. gravatar Anônimo says:

    Tem que estar logado? Como fazer em PHP?

Speak Your Mind