Um guia aprofundado sobre como realizar web scraping utilizando o ChatGPT Code Interpreter e seus plugins.
Caso você não seja um fã de começar do zero, é provável que necessite de informações preliminares para dar o pontapé inicial. Ou talvez você deseje analisar a concorrência em busca de insights valiosos. Adicionalmente, podem existir inúmeros motivos para alguém se interessar pelo conteúdo de um site específico.
O web scraping é o processo ideal para atender a essas necessidades.
E existem diversas formas de executá-lo. Há ferramentas robustas que você pode contratar para realizar raspagens profissionais de grandes sites. Como alternativa, você pode precisar de uma configuração específica para processamento local.
Em ambos os casos, a abordagem pode ser dispendiosa, demorada e entediante para iniciantes, especialmente quando se trata de extrair dados de apenas algumas páginas web.
Visão geral do ChatGPT para Web Scraping
Creio que o ChatGPT não necessita de apresentações, certo?
Em essência, o ChatGPT é uma IA generativa que responde de forma semelhante a um ser humano. Ele oferece uma interface de bate-papo para solicitar diversas tarefas, como obter informações sobre eventos históricos, escrever redações, resumir textos, traduzir idiomas, desenvolver códigos e muito mais.
O ChatGPT normalmente responde em formato de texto. No entanto, existem plugins que expandem suas capacidades de várias maneiras. E é justamente um desses plugins que utilizaremos. Além disso, empregaremos seu intérprete de código para raspar websites com estruturas de página complexas ou que adotem protocolos anti-raspagem.
É importante saber que o ChatGPT oferece versões gratuitas e pagas. Contudo, para utilizar o plugin de web scraping ou o seu mecanismo Code Interpreter, é necessário ter uma assinatura paga (atualmente, US$ 20 por mês).
Nas seções subsequentes, detalharei o processo passo a passo.
Aviso: Antes de prosseguir, certifique-se de que o site em questão permite a extração de seu conteúdo. Caso contrário, é recomendado entrar em contato com o administrador para verificar se a raspagem é permitida e evitar problemas legais.
Web Scraping com o Plugin do ChatGPT
Acesse sua conta OpenAI, passe o cursor sobre o GPT-4 (sua versão paga atual) e clique em “Plugins”.
Em seguida, clique em “Nenhum plugin ativado”, role a página para baixo e selecione “Plugin Store”.

É importante observar que, em vez de “Nenhum plugin ativado”, você verá um ícone de plugin se algum estiver ativo. Nesse caso, clique nesse ícone para abrir o menu suspenso e selecione a “Plugin Store” na parte inferior.
Isso abrirá a loja de plugins. Pesquise por “Scraper” e clique em “Instalar”.

Selecione este plugin na interface do ChatGPT.

Após selecioná-lo, você deverá dar um comando ao ChatGPT, informando o URL da página e o conteúdo desejado para extração.
Realizei esse processo em alguns websites. Veja os exemplos abaixo.
Extraindo dados de uma publicação
Como somos uma publicação focada em tecnologia, escolhi nossa página inicial, etechpt.com/ , para esta demonstração.
Eis o comando (prompt) utilizado:
Verifique esta página web: https://etechpt.com/ e prepare uma tabela indicando o título do artigo, autor, data de publicação e trecho dos 10 artigos mais recentes.

É também possível solicitar a conversão dos dados para o formato CSV, colá-los em um arquivo de texto com extensão .csv e abri-los em um aplicativo de planilha como o MS Excel.
Extraindo dados de uma página de ofertas ou cupons
A seção de ofertas etechpt.com é onde selecionamos manualmente algumas promoções de projetos de alta tecnologia. Que tal extrair todas as ofertas em formato de tabela?
Prepare uma lista das ofertas desta página web: https://etechpt.com/deals/. Apresente o resultado em formato tabular.

Extraindo dados da Wikipédia
Resuma em formato tabular as últimas notícias da seção "In the news" desta página da Wikipédia: https://en.wikipedia.org/wiki/Main_Page

Extraindo dados de lojas de comércio eletrônico
Por último, tentei extrair dados da Amazon.com filtrando por notebooks e inserindo o URL no ChatGPT. Eis o resultado:

O problema é que este não é um caso isolado. Muitos sites implementam medidas anti-raspagem. Nessas situações, é necessário encontrar uma alternativa para obter os dados, caso contratar scrapers profissionais não seja uma opção.
As seções a seguir exploram uma dessas soluções.
Web Scraping com o Code Interpreter do ChatGPT
O Code Interpreter é um recurso recém-lançado do ChatGPT que se destina a tarefas relacionadas à programação. Enquanto o mecanismo padrão foca em respostas textuais, o Code Interpreter é capaz de visualizar resultados, analisar, depurar e executar código, integrar-se a softwares e realizar outras tarefas com foco em programação.

Neste processo, faremos o download do código-fonte HTML, o carregaremos no ChatGPT Code Interpreter e prosseguiremos com a raspagem.
Escolhi esta página para extração:

Começaremos salvando a página da web em formato HTML. Para isso, acesse a página e pressione Ctrl+S.

Agora temos o arquivo para raspagem. Vamos explorar o comando (prompt).

Além do texto do comando, forneci amostras de elementos para acelerar a raspagem. Como as estruturas de página da Amazon são complexas, sem essas amostras a tentativa de extração pode falhar ou não gerar resultados.
E obter esses elementos é bastante simples. Clique com o botão direito em qualquer parte da página e selecione “Inspecionar” no menu.

Primeiro, clique no ícone superior (marcado como 1). Isso destacará os detalhes ao selecionar os elementos da página. Em seguida, selecione o elemento contêiner de um produto específico.

Certifique-se de selecionar o contêiner mais interno. Ao passar o mouse, ele permanecerá destacado. No momento em que você obtiver a última estrutura que cobre esse bloco, clique e vá para o lado direito para copiar a classe div do elemento.
Da mesma forma, selecione as amostras para outros elementos.

Finalmente, carregue o HTML e um comando similar a este:
Analise o HTML desta página e extraia os títulos dos notebooks, preços e avaliações. Apresente o resultado em formato de tabela nesta interface de chat e também forneça os resultados em um CSV para download. div class="s-card-container s-overflow-hidden aok-relative puis-include-content-margin puis puis-vfcg1duwvmpo42mcln9ojhiljk s-latency-cf-section s-card-border" Exemplo de elemento de título: span class="a-size-medium a-color-base a-text-normal" Exemplo de elemento de preço: span class="a-price-whole" Exemplo de elemento de avaliações: span class="a-size-base puis-bold-weight-text"
Isso levará algum tempo enquanto o ChatGPT Code Interpreter executa o trabalho. Você obterá alguns detalhes, enquanto todo o conteúdo estará no arquivo CSV anexado.

Você poderá observar que a tabela contém algumas entradas que não estão presentes na página original, especialmente no início. Nesses casos, é necessário verificar novamente e limpar os dados de redundâncias.
Se houver algum, você pode solicitar ao ChatGPT um novo CSV limpo.
Considerações Finais
O ChatGPT realiza diversas tarefas e o web scraping básico é uma delas. De fato, pode não ser adequado para raspagens em centenas de páginas. No entanto, é um ótimo ponto de partida e ideal para sessões de raspagem mais curtas.
Neste guia, utilizamos um dos seus plugins de raspagem e o Code Interpreter. Enquanto os plugins funcionam em vários sites padrão, o segundo método é adequado para estruturas de páginas da web personalizadas ou se a página tiver elementos dinâmicos (rolagem infinita, leia mais, etc.).
E, para reforçar, consulte os termos do site antes de realizar qualquer raspagem.
PS: Confira essas soluções de raspagem em nuvem e nossa própria API de raspagem etechpt.com.