Web Scraping com Python e Beautiful Soup

Thiago Lelis
Aug 25, 2017 · 2 min read

Muitas vezes nos deparamos com situações onde precisamos analisar ou extrair informações de sites pela web. A forma correta de extrairmos essas informações seria utilizando APIs, porém muitas das vezes não é disponibilizada nenhuma API pública para extrair as informações. Para este e outros casos nós utilizamos o scraping de página, que nada mais é que extrair informações de do código HTML. Pretendo neste post mostrar o básico de como extrair alguma informação de uma página utilizando Python com as bibliotecas requests(http://docs.python-requests.org/) e beautiful soup (https://www.crummy.com/software/BeautifulSoup/).

Para este exemplo é necessário ter instalado o python3 com as bibliotecas citadas acima. Para isso basta executar os comando

pip install beautifulsoup4
pip install requests

Com as duas bibliotecas instaladas crie um arquivo qualquer com a extensão .py e nele inclua o código abaixo. Preste atenção nos comentários, pois através dele que irei explicar oque cada linha esta fazendo.

O código acima deverá gerar um arquivo chamado csvfile.csv contendo as perguntas e respostas da página separados por ponto e vírtula.

Uma dica importante é utilizar o devtools (F12) para analisar e descobrir as tags e classes dos objetos da página, desta forma irá poupar bastante trabalho antes de extrair as informações.

Este exemplo foi bem simples mas já serve para ter uma idéia de como é feito a extração de dados de páginas. Você pode adapta-lo para por exemplo seguir os links das páginas e extrair as perguntas e respostas seguindo os links que estão na própria página.

Caso tenham alguma dúvida não deixem de comentar que prometo que responderei o mais breve possível. :D

)
Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade