Extração de dados para o Google Sheets usando BeautifulSoup
Extraindo preços de produtos no site da Amazon
Introdução
O avanço da tecnologia e a disponibilidade de vastas quantidades de dados na internet abriram portas para novas oportunidades e projetos inovadores. Um exemplo disso é a extração de dados de sites, que pode fornecer informações valiosas para análises, monitoramento de preços, acompanhamento de tendências e muito mais. Neste artigo, vamos explorar um projeto interessante: extrair dados do site Amazon.com utilizando a biblioteca BeautifulSoup e enviá-los para o Google Sheets. Com a combinação dessas duas poderosas ferramentas, você poderá automatizar a coleta de informações e simplificar suas análises.
Overview do projeto
O objetivo deste projeto é extrair dados específicos do site Amazon.com, como link do produto, nome do produto, valor, avaliação e disponibilidade, e enviá-los para o Google Sheets.
Para alcançar esse objetivo, o projeto foi dividido em duas etapas principais:
- Mapeamento das tags e extração dos dados
- Configuração do Google Drive e Google Sheets.
Mapeamento das tags e extração dos dados
A primeira etapa envolve o uso da biblioteca BeautifulSoup em Python para mapear as tags HTML relevantes no site Amazon.com e extrair os dados desejados. A BeautifulSoup facilita a navegação e a busca em uma estrutura HTML, permitindo que você identifique e extraia as informações necessárias de maneira eficiente. Com as tags mapeadas, você pode extrair o link do produto, o nome do produto, o valor, a avaliação e a disponibilidade.
Após identificar as informações desejadas, é necessário abrir a ferramenta de inspeção do seu navegador (F12) e, em seguida, clicar no botão de seleção de elementos da página (CTRL+SHIFT+C). Por fim, clique no elemento desejado, conforme mostrado na imagem abaixo:
Uma vez que você tenha identificado a tag HTML do elemento e sua classe, você poderá utilizar o código `soup.find` para extrair a string desejada.
soup.find("span", class_="a-offscreen").string.strip()
Esta linha de código retornará o texto “R$407,55”, e como se trata de um valor numérico, aplicamos um tratamento adicional para remover qualquer letra desta string.
re.sub(r'[⁰-9,]', '', soup.find("span", class_="a-offscreen").string.strip())
Agora, você só precisa repetir essa operação para cada elemento que deseja extrair, lembrando que pode ser necessário um tratamento diferente para cada um, a fim de realizar a extração correta dos dados desejados.
Configuração do Google Drive e Google Sheets.
A última etapa do projeto é configurar o Google Drive e o Google Sheets para receber e armazenar os dados extraídos do Amazon.com. Você precisará criar uma planilha no Google Sheets e obter o ID da planilha, que será usado para direcionar os dados extraídos para a planilha correta. Em seguida, você pode usar a biblioteca gspread em Python para abrir a planilha e adicionar os dados extraídos em linhas ou colunas específicas.
Você pode obter mais informações sobre a integração do gspread com Python seguindo este tutorial:
Com a integração do gspread finalizada, você poderá facilmente ter um histórico de acompanhamento das suas consultas em uma planilha do Google Sheets.
No final deste artigo, compartilho o código completo para a extração de dados de vários links da Amazon, que você poderá utilizar para suas consultas. Cada vez que o código for executado, novas linhas serão adicionadas com a data/hora da execução.
Conclusão
A extração de dados de sites pode ser uma tarefa complexa, mas com as ferramentas certas e um planejamento adequado, é possível automatizar esse processo e aproveitar as informações coletadas para diversos fins.
Neste artigo, exploramos um projeto específico de extração de dados do site Amazon.com usando a biblioteca BeautifulSoup e enviando-os para o Google Sheets. Ao seguir as etapas de mapeamento das tags e configuração do Google Drive e Google Sheets, você estará pronto para automatizar a extração de dados e iniciar suas análises de maneira mais eficiente.
Lembre-se de sempre respeitar os termos de serviço dos sites e garantir que a extração de dados seja feita de forma ética e legal. Aproveite essas ferramentas poderosas para obter insights valiosos e impulsionar seus projetos de análise de dados.
Você pode conferir mais detalhes e o código completo no meu GitHub: