Leia também o artigo:
Home / Python3 / Web Scraping com Python 3

Web Scraping com Python 3

Já vimos a instalação do Python 3 em outro artigo.

Web Scraping é basicamente acessar um site e extrair informações do mesmo.

Para realizar web scraping em Python temos que instalar algumas bibliotecas adicionais através do PIP, o gerenciador de pacotes do Python.

Documentação oficial do BeautifulSoap:

https://www.crummy.com/software/BeautifulSoup/bs4/doc/

Comandos do pip:

  • pip list (lista todos os pacotes instalados)
  • pip show <nome-do-pacote> (mostra os detalhes do pacote instalado)

As bibliotecas a serem instaladas são as seguintes:

  • requests: Para fazer requisições em Python.
    • pip install requests
  • beautifulsoup4: Extrai dados em documentos HTML e XML.
    • pip install beautifulsoup4
  • lxml: Faz parse para XML.
    • pip install lxml
  • html5lib: Faz parse para HTML.
    • pip install html5lib

Ferramentas

Usar uma ferramenta de edição de código fonte de sua preferência como o Sublime, ou o PyCharm.

Acessando um site

Vamos acessar um site qualquer, enviando uma requisição através da biblioteca requests, e capturar todo o código HTML dessa página.

import requests
from bs4 import BeautifulSoup

r = requests.get('http://haylson.com.br')
soup = BeautifulSoup(r.text, 'lxml')
print(soup)

Acessando um arquivo HTML

Para acessar o conteúdo de um arquivo html em sua própria máquina, sem precisar fazer um request.

from bs4 import BeautifulSoup 

with open('arquivo.html', 'r') as f:
soup_string = BeautifulSoup(f.read(), 'html.parser')
print(soup_string)

Obs: Podemos trocar o parâmetro html.parser acima por: lxml ou html5lib.

Sobre Haylson Martins

Me chamo Haylson Martins, formado em Sistemas de Informação, trabalho com T.I de forma geral desde 2002 com suporte depois na área de negócio e treinamentos, e com Desenvolvimento para Sistemas Web desde 2010 com linguagem principal o Java. Amo tecnologia, amo aprender coisas novas, gosto de ensinar embora não seja essa a minha pretensão. Por meio desse blog pretendo reforçar o que ando aprendendo e estudando de outras linguagens e tecnologias, e principalmente como uma espécie de bloco de notas para consultas posteriores e quem sabe também ajude outras pessoas que estudam e têm as mesmas dúvidas que já tive ou que ainda tenho. Vamos começar?

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *