Web Scraper – Parte 2

Sobre o Web Scraper e suas aplicações

Sobre o Web Scraper

O Web Scraper é um bom​ software ​ para automatizar o processo de extração de dados. Ele irá simular a navegação humana nas páginas e copiar os dados que são requeridos e os disponibilizar ao final da navegação em formato de planilha, csv. Vale ressaltar que ele não é a melhor opção entre os inúmeros ​ softwares disponíveis, mas é bom o suficiente para atividades com a complexidade baixa, como recuperar o ​ hashtags ​ do Twitter, além de ser simples o processo de configuração da navegação nas páginas e não ser necessário programar ou pagar para sua utilização.

Como dito na postagem anterior existem alternativas robustas para fazer essa atividade, que são recomendadas para casos em que as páginas dificultam o processo de captura dos dados. O Facebook é um bom exemplo disso, as estruturas de suas páginas não são padronizadas o suficiente para que o Web Scraper consiga navegar com fluidez. Ele roda durante poucos minutos e para por não conseguir se adequar às variações. Essa é uma de suas principais limitações, não trabalhar com alternativas e condicionais no processo de navegação. Se as configurações da página divergem do configurado nele em algum momento, o processo é interrompido. Portanto, ao utilizar o Web Scraper, a maneira como você irá configurar deve ser bastante objetiva. Lembre-se, ele não vai conseguir lidar com comportamentos inesperados da página, nem resolver ​ CAPTCHAs ​ ou preenchimentos que são requisitos para acessos a algumas páginas, como as presentes no site do ​Lattes antes de cada consulta. Outra limitação é não escrever direto em banco de dados, com isso grandes extrações podem sofrer complicações se forem processadas no Excel, que envolvem a limitação de linhas e quantidade de informações na planilha, ou também o próprio navegador pode travar.

Utilizando a extensão

Como cada página possui estrutura e disposição de dados diferente, o ​ Site Map (como são chamados o mapa de navegação das páginas), são únicos. Exemplo, o ​ Site Map ​ que você configurou para obter publicações do Twitter não vai funcionar para pegar os preços de uma categoria de produtos em um ​ e-commerce.

Nesse tutorial, será trabalhado as principais funcionalidades do Web Scraper, que atendem demandas mais comuns, em forma de exemplos. Serão desenvolvidos três exemplos: (1) Capturar o conteúdo de uma ​ hashtag ​ no Twitter; (2) Obter o preço de uma categoria de produtos do ​ e-commerce ​ esportivo Netshoes; (3) Extrair todos os discursos do presidente Temer e seus antecessores até 2014 (ano em que surgiu a iniciativa de compartilhamento transcrito dos discursos), direto do site da presidência. Com isso espero repassar o principal do Web Scraper, além de mostrar seu potencial de viabilizar trabalhos que fossem feito de forma manual demandariam bastante tempo e paciência.

Vamos ao primeiro exemplo…

Exemplo 1

Nesse primeiro exemplo, será capturado postagens da ​ hashtag “#chapadadosveadeiros” no Twitter. Foi selecionado as postagens entre os dias 14 e 15 de outubro de 2017, período em que Chapada dos Veadeiros passava por uma queimada de grandes proporções. Esses exemplo está dividido em duas partes, a de busca, no Twitter, e a de raspagem, no Web Scraper.

Passos no Twitter

1. Acesse a ​ busca avançada no Twitter. No campo “Todas estas palavras”, insira a ​ hashtag. ​ No espaços “Datas”, preencha com o data que desejar. Feito isso, clique em buscar.
2. O Twitter irá retornar todas as publicações que contém a ​ hashtag ​ e data informados no primeiro passo.
3. Copie todo o ​ link. ​ Não feche e nem altere nada na página.

Passos no Web Scraper:

1. Acesse o Web Scraper pressionando simultaneamente no teclado, as teclas Control + Shift + I ou F12, caso esteja utilizando o sistema operacional Windows ou Linux. Se estiver no Mac pressione, como no caso anterior, as teclas Cmd + Opt + I.
2. Como apontado na imagem abaixo, clique em Web Scraper.

3. Na tela do Web Scraper, você irá encontrar três campos: (1) Sitemaps, onde ficará salvo todos suas atividades anteriores; (2) Sitemap, onde é configurado todo o processo de raspagem; (3) Create new sitemap, onde é criado/importado novos sitemaps.
4. Clique em no campo 3 e selecione Create new sitemap. Em “Sitemap name”, atribua um nome com pelo menos três caracteres. Apenas caracteres minúsculos (a-z), dígitos (0-9) ou qualquer um dos caracteres _, $, (,), +, – e /, desde que comece com uma letra. Esse mesmo critério vale para todos os outros campos da ferramenta que demandam preenchimento de texto.
5. Em “Start URL” cole o link copiado no passo 3, do Twitter. Confirme, clicando em “Create Sitemap”.

Configuração de raspagem do Sitemap

6. Clique em “Add new selector”. Preencha o campo “Id” como “publicacoes”.
7. Em “Type” selecione “Element Scroll Down” – essa função irá fazer o processo de rolagem na página do Twitter.
8. Em “Selector”, clique em “Select”. Passe o mouse sobre a primeira publicação, e ela ficará esverdeada, selecione a primeira e a segunda. Com isso todas vão ficar avermelhadas. Certifique-se antes de prosseguir. Clique em “Done selecting”, assim, o Web Scraper vai entender onde está o conteúdo que ele precisa pegar.

9. Marque o campo “Multiple”, dessa forma o programa reconhece que são múltiplas postagens.
10. Defina “Delay” de acordo com sua velocidade de ​ internet, ​ o número informado é em ms. No meu caso vou informar 3000ms (3 segundos). Como foi dito, se sua internet ou até mesmo seu computador possui limitações de velocidade, informe mais que isso. O Delay é o tempo que o programa irá aguardar antes de cada resposta do Twitter, se o tempo acaba e não chegam respostas o programa para. Portanto, é sempre bom definir margem de segurança, não vai ser legal ele parar no meio de uma grande extração.
11. Confira se a sua configuração é igual a da imagem abaixo.

 

12. Clique em “Save selector” e sem seguida, “publicação”. Agora que o Web Scraper conhece as publicações que queremos capturar, vamos configurar para ele pegar o usuário que publicou, a data e o texto da publicação.
13. Clique em “Ad new selector”. A tela que irá abrir é igual a que configuramos anteriormente.
14. Defina “Id” como “usuario”. Em “Type”, coloque como texto, pois o que queremos agora é que ele pegue o usuário em forma de texto.
15. Em “Selector”, clique em “select”. Com isso o primeira publicação vai ficar amarelada. Passe o cursor do mouse sobre o usuário que fez a publicação. Ele deve ficar com uma caixa verde em volta, feito isso isso, clique, assim a caixa fica na cor vermelha. Clique em “Done selecting”.
16. Agora, observe se em “Parent Selectors” se “publicação” está marcado de cinza. Caso esteja, pressione “Done selecting”. Se não, clique sobre, com isso a palavra vai ficar marcada em azul. Finalize o processo pressionando “Done selecting”.
17. Clique em “Ad new selector”. Defina “Id” como “data”. Em “Type”, coloque como texto. Dessa forma ele obtém a data da publicação em forma de texto, visto que não é possível obter a data no formato DD/M/YYYY.
18. Em “Selector”, clique em “select”. Passe o cursor do mouse sobre a data da publicação. Ele deve ficar com uma caixa verde em volta, feito isso isso, clique, assim a caixa fica na cor vermelha. Clique em “Done selecting”.
19. Observe se em “Parent Selectors” se “publicação” está marcado de cinza. Caso esteja, pressione “Done selecting”. Se não, clique sobre, com isso a palavra vai ficar marcada em azul. Finalize o processo pressionando “Done selecting”.
20. Por fim, também, queremos o textos dessas publicações. Clique em “Ad new selector”. Defina “Id” como texto. Em “Type”, coloque como texto.
21. Em “Selector”, clique em “select”. Passe o cursor do mouse sobre o texto da publicação. Ele deve ficar com uma caixa verde em volta, feito isso isso, clique, assim a caixa fica na cor vermelha.
22. Certifique que em “Parent Selectors” “publicação” está marcado de cinza. Caso esteja, pressione “Done selecting”. Se não, clique sobre, com isso a palavra vai ficar marcada em azul. Finalize o processo pressionando “Done selecting”.

Concluído esses passos, o Sitemap do Twitter para a hashtag está devidamente configurado. Para melhor visualizar a estrutura de navegação o Web Scraper disponibiliza um gráfico. Você pode acessar clicando no nome do seu sitemap, entre “Sitemaps” e “Create new sitemap”, e depois em “Selector graph”. O seu deve estar igual ao da imagem abaixo:

 

A descrição desse gráfico é simples, “_root” é ponto de partida de toda a raspagem, onde é configurado o link que o programa irá acessar e “publicação” é a etapa que o Web Scraper reconhece as publicações e faz a navegação automática. No decorrer dessa navegação ele pega os “usuarios”, “data”, “texto de cada uma das publicações.

Analisar a estrutura ao final de cada configuração é importante para saber se foi configurado de maneira correta o Web Scraper. No início é normal confundir ao definir a navegação do site que precisa ser raspado. Fique atento as páginas de configuração, principalmente em “Parent Selctors”, pois é onde são definidos os níveis de navegação/raspagem. Por exemplo, se fosse definido que “usuarios”’, “data” e “texto” estivessem no mesmo nível de “publicacao”, o programa não funcionaria de maneira correta.

Por fim, é hora de rodar o “Sitemap”. Para isso, acesse “Sitemap + nome do seu sitemap”, entre “Sitemaps” e “Create new sitemap”, e depois em “Scrape”. Posteriormente, na tela que abriu, clique em “Start scraping”. Uma nova janela do Google Chrome abre, já no link informado no início da configuração. Aguarde ele navegar. Não feche nem altere nada. O tempo de raspagem depende do período de tempo informado, da velocidade de conexão a ​ internet ​ e do delay definido.

Ao final, uma mensagem aparece na tela que estávamos trabalhando, informando que a raspagem foi realizada. Para baixar os dados, acesse “Sitemap + nome do seu sitemap, entre “Sitemaps” e “Create new sitemap”, e depois em “Export data as CSV”. Aguarde um pouco e em seguida clique em “Download Now”, escrito em azul. Com isso finalizamos o primeiro exemplo deste tutorial.

Parabéns se você conseguiu concluir todos os passos. Na próximo exercício vamos utilizar novas funcionalidades da ferramenta e raspar em sites que possui paginação.

4 thoughts to “Web Scraper – Parte 2”

Deixe uma resposta

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