Exercício proposto por Fernando Masanori, docente da Faculdade de Tecnologia de São José dos Campos - Prof. Jessen Vidal, disciplina de Estrutura de Dados, terceiro semestre.
Etapa 1: Raspagem de dados.
Etapa 2: Manipular os dados raspados e fazer uma representação visual deles.
Objetivo: Raspar Tweets, de uma determinada hashtag ou assunto, sem utilização da API do Twitter.
Inspiração: Palestra dada na Python Vale por Bianca Berdugo: 'Raspadinha de Dados'. Através dessa palestra, conhecemos o Selenium, uma ferramenta que lida melhor com JavaScript, facilitando nosso processo de raspagem.
Objetivo: Decidimos fazer uma Nuvem de Palavras, Word Cloud, que será composta por trending words de um determinado assunto, que foi pesquisado na primeira etapa.
Referência: https://github.com/amueller/word_cloud
-
Selenium;
-
Google Chrome;
-
Chromedriver (https://sites.google.com/a/chromium.org/chromedriver/home)
. É necessário adicionar o diretório do Chromedrive no PATH.
. Adicionando no Path: https://www.youtube.com/watch?v=L2Lzy_Icn88
-
Ter no mesmo diretório do arquivo python:
. stopwords.txt
. fontenuvem
-
Instalar packages: . wordcloud (que já vem numpy, matplotlib, pillow e outros packages necessários)
É necessário ter um compilador C na máquina, caso não tenha:
. Acessar: http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
. Baixar o arquivo .whl, na versão do seu python e sistema operacional
. Exemplo: Windows 64 bits e Python é 3.6. Baixar arquivo: wordcloud‑1.3.2‑cp36‑cp36m‑win_amd64.whl
. Instalação: pip install (seu arquivo .whl aqui)
. Exemplo: pip install wordcloud‑1.3.2‑cp36‑cp36m‑win_amd64.whl
Raspei Tweets mais recentes, com assunto João Doria, e ao gerar a nuvem, é possível visualizar as palavras que mais foram ligadas ao nome dele.
Para mais demonstrações de nuvens, acesse a pasta Exemplos desse repositório. Nela contém algumas nuvens de alguns candidatos a presidência em 2018.
Email: [email protected]
Facebook: fb.com/tiago.soares94