Web Scraping em R: Aspectos Importantes a Ter em Conta
Quando decidir fazer web scraping em R, há alguns aspetos que deve compreender.
- Compreender os fundamentos do Web Scraping e do HTML
Quando se trata de web scraping com R, primeiro tem de aprender e compreender os fundamentos do web scraping e do HTML. Tem de aprender a aceder ao código HTML através do navegador e a verificar todos os conceitos subjacentes do HTML e das linguagens de marcação. Isto irá certamente definir o caminho para extrair dados.
Assim que conhecer estes conceitos básicos, o scraping com R tornar-se-á muito mais fácil do que imagina. Aqui estão os seguintes pontos que o ajudarão no trabalho de web scraping com R.
Desde que foi proposta pela primeira vez por Tim Berners-Lee no final dos anos 80, a ideia de uma plataforma de documentos [a World Wide Web] interligados através do HTML constitui a base de todas as páginas web e da própria web. Quando digita um site no navegador, este descarrega e apresenta a página.
Mas como é que se faz exatamente o web scraping com o R? Bem, antes de fazer qualquer coisa, tem primeiro de aprender como é que a página web está estruturada e de que é composta. Verá que uma página web tem imagens e cores bonitas, mas o documento HTML subjacente é de natureza bastante textual.
O documento HTML é a representação técnica de uma página web, pois indica aos navegadores quais os elementos HTML que devem ser apresentados e como exatamente devem ser apresentados. O documento HTML é algo que precisa de analisar e compreender se deseja extrair dados de uma página web com sucesso.
- Etiquetas e elementos HTML
Ao verificar o código HTML, irá deparar-se com algo como <title>, </title>, <body>, </body> e muitos mais. Estes são conhecidos como tags HTML, que são marcadores especiais no documento HTML. Todas as tags têm uma finalidade importante e cada uma delas é interpretada de forma diferente pelo navegador.
Por exemplo, "<title>" fornece ao navegador o título da página web, e "<body>" fornece ao navegador o conteúdo principal da página web. Além disso, as tags são conhecidas por serem marcadores de abertura e fecho que contêm conteúdo entre si, ou fecham-se automaticamente. Mas o tipo de estilo que se segue depende fortemente do caso de uso e do tipo de elemento.
Mas as tags também vêm com atributos que oferecem dados e informações HTML adicionais, relevantes para a tag HTML a que pertencem. Assim que adquirir um conhecimento adequado do conceito principal do ficheiro HTML, das tabelas HTML, da árvore de documentos, das tags e de elementos HTML específicos, tudo fará muito mais sentido em todas as partes que lhe interessam
Então, qual é a principal lição a reter aqui? Bem, a página HTML é vista como um formato estruturado associado a uma hierarquia de tags, que o rastreador utilizará no projeto de web scraping para extrair toda a informação necessária.
- Analisar uma página web com programação R
Agora, é hora de realizar o web scraping numa página web de destino com o R. Lembre-se de uma coisa: irá apenas raspar a superfície do conteúdo HTML; portanto, aqui, não irá extrair os data frames, mas sim imprimir o código HTML completo simples.
Portanto, se quiser fazer web scraping de todos os elementos de uma página web e verificar como ela aparece, precisa de usar redLines() para mapear todas as linhas do conteúdo HTML dentro de um ambiente de desenvolvimento, a fim de produzir uma representação do mesmo.
Agora, precisa de imprimir «flat_html», e a consola do R irá mostrar-lhe os resultados de que necessita, que serão algo como isto:
Fonte da imagem:
Lembre-se claramente de uma coisa: a extração de sites é feita apenas por diversão, e todos os especialistas em ciência de dados estão bem cientes disso. Será certamente uma experiência emocionante, e pode facilmente extrair várias páginas de um site, como o site IMDB, no seu sistema operativo.
Quer extraia a primeira página ou uma única página de um site, se o fizer corretamente, será um sucesso. Embora a extração de ficheiros HTML possa proporcionar-lhe um resultado impressionante, não se trata de um documento HTML. Isto porque a função redLines() lê o documento corretamente, mas não tem em conta a estrutura do documento.
Mas isto é apenas uma ilustração para mostrar exatamente como é a extração de navegadores web através do método de web scraping em R. O código real a seguir será muito mais complicado. Mas existe uma lista de bibliotecas disponíveis, que simplificará bastante o trabalho de web scraping em R.