Leitura e Gravação de dados em Python
1. Gravação
A gravação em Python é um procedimento que exige a realização de 4 etapas:
- definir o nome do arquivo a ser gravado;
- abrir o arquivo a ser gravado;
- escrever os dados no arquivo aberto;
- fechar o arquivo.
import requests
# Módulo básico de extração
url = 'Insira o URL que você escolheu'
html = requests.get(url).text
# Módulo básico de gravação
nomedoarquivo = 'ADI.html'
arquivoaberto = open(nomedoarquivo, 'w', encoding='utf-8')
arquivoaberto.write(html)
arquivoaberto.close()
O módulo de gravação realiza exatamente as 4 operações acima descritas:
- atribui à variável nomedoarquivo um valor que servirá como nome do arquivo a ser criado, o qual deve ser encerrado pela extensão ".html", para indicar que se trata de um arquivo de html. Você também pode gravá-lo como ".txt", o que fará com que você o abra mais facilmente com o bloco de notas. Porém, ao gravar como .html, você poderá abri-lo no Spyder ou no Pycharm, que vão mostrar as formatações em cores diferentes, seguindo o modelo de exibição dos códigos HTML;
- abre o arquivo no modo de escrever ('w' de write), utilizando a codificação utf-8 (que reconhece acentos e cedilhas);
- escreve a string correspondente ao código fonte no arquivo aberto. Como foi escolhido o modo 'w', essa operação sobrescreve qualquer conteúdo anteriormente gravado nesse arquivo. Se fosse utilizada a opção 'a', de add, o novo conteúdo seria acrescentado ao final.
- fecha o arquivo, o que é importante porque arquivos abertos consomem memória e estão sujeitos a serem sobrescritos.
2. Leitura
O módulo de leitura segue o mesmo padrão do módulo de gravação, com apenas 3 diferenças:
- No lugar da opção 'w' (de write), você deve usar a opção 'r' (de read).
- No lugar do comando arquivo.write(html) (que escreve a string html no arquivo aberto pela função open), você deve usar o comando arquivo.read(), para ler todo o arquivo que você abriu.
- Você deve atribuir o conteúdo do arquivo lido a uma variável, para poder trabalhar com esses dados depois de fechar o arquivo. Por se tratar de dados em HTML, usaremos a variável html para esse fim.
É importante você saber esses elementos, caso você precise desenvolver uma função de leitura adaptada especificamente ao seu projeto. Porém, você pode usar a função dsd.carregar_arquivo(nomedoarquivo), para atribuir o conteúdo de um arquivo a uma variável, sendo que esta função tem a seguinte estrutura.
def carregar_arquivo (nomedoarquivo):
arquivo = open(nomedoarquivo, 'r', encoding='utf-8')
html = arquivo.read()
arquivo.close()
return html