[Estudo da Madruga] — Desenvolvendo um Scraping com Python e Elasticsearch — Parte 1/3
Fala pessoal, blz? Gostaria de compartilhar com vocês a primeira história da série estudo da madruga.
Por que estudo da madruga? Bom, acredito que eu não sou o único nesse mundo que não tem tempo durante o dia. Mas esse não é o principal motivo, gosto de estudar na madruga porque é produtivo. Então decidi criar esta série e compartilhar os meus estudos com vocês e não deixar somente no meu caderno. :D
Ambientação
Importante: Meu objetivo não é abordar profundamente as diferentes técnicas de web scraping . Ao invés disso, quero te mostrar uma das possibilidades e, quem sabe, te estimular a também estudar o assunto!
Primeiro vamos nos ambientar antes de colocar a mão na massa. Na maioria das vezes, um Data Science precisará acessar dados encontrados na Internet. As vezes esses dados estão em formatos conhecidos como .CSV ou .JSON. No entanto, pode ser que esses dados estejam em paginas web.
Ai você me pergunta. E agora? O que eu faço?
Neste caso, você pode utilizar uma técnica chamada Web Scraping para obter esse dados no formato adequado para sua analise.
Nesta primeira história da série Estudo da Madruga, vamos mostrar como criar um Web Scraping, utilizando Python e o framework Scrapy.
No final desta história vamos estar coletando os dados no site do g1.com.br e armazenando no Elasticsearch, utilizando a biblioteca ScrapyElasticSearch.
Pré-requisito
Para acompanhar essa história vou partir do pressuposto que você saiba programa em Python. Certo? Não sabe? Me ajuda ai powww!
Pra adiantar o seu lado, vou deixar um link de um curso de Python que encontrei no YouTube.
Curso de Programação em Python
Primeiros passos
Com o Python configurado e funcionando no seu computador vamos instalar as bibliotecas.
Se você estiver utilizando Windows, talvez seja necessário instalar o programa Visual C++ 2015 Build Tools. Baixe por aqui
Vamos criar uma pasta para o nosso projeto. Eu sugiro que você crie uma estrutura para guardar os nossos projetos de estudos para que possamos utilizar em outras histórias. Veja como eu fiz.
Criando primeiro Scraping
Trabalharemos da seguinte forma, primeiro nos executamos os código e na sequência eu explico o que foi feito. Certo?
No Terminal(Mac ou Linux) ou Pront(Windows) vá até a pasta criada para o projeto, no meu caso, a pasta é Criando-Scraping e digite o código abaixo.
A biblioteca Scrapy é um framework para criação de Crawler. Quando executarmos esse comando, o framework criará uma pasta chamada PrimeiroScrapy com toda estrutura de pasta e arquivos para o desenvolvimento do nosso projeto. Veja como ficou.
Com nossa estrutura de projeto pronta, vamos criar o arquivo de código do nosso crawler que irá acessar o site do g1.com.br e pegar os dados. Para isso existe outro comando do Scrapy que podemos utilizar. Veja o código abaixo.
Veja como o Scrapy é fantástico. Estamos passando para a função genspider o nome do nosso crawler(g1) e também informando qual o site que queremos extrair os dados. Este trecho de código irá criar um arquivo chamado g1.pydentro da pasta spiders.
Resumindo nosso trabalho
Na primeira parte da nossa história, criamos a estrutura de pasta do nosso ambiente de desenvolvimento, instalamos as bibliotecas Scrapy e ScrapyElasticSearch, criamos nosso projeto web scraping e nosso arquivo crawler que será configurado para coletar os dados.
Veja na próxima história…
Na próxima parte da história, iremos analisar o código html do site utilizando o shell do Scrapy, definir quais informações iremos coletar e configurar nosso Crawler. Ficou empolgado?