Web Scraping com Python e Beautiful Soup
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 requestsCom 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