4. Pacote tidyRSS

Neste artigo você irá aprender como acessar dados de texto usando RSS. De acordo com a Wikipedia:

Really Simple Syndication (RSS) é um formato de distribuição de conteúdo em tempo real pela internet, no qual um subconjunto de “dialetos” XML, que servem para agregar conteúdo, podem ser acessados mediante programas ou sites agregadores. É usado principalmente em sites de notícias e blogs.

Utilizando RSS você poderá baixar artigos e notícias dos principais portais da internet brasileira sem previsar fazer web-scrapping, ou seja, baixar o site e selecionar o conteúdo que importa dentro das tags HTML. O R disponibiliza o pacote tidyRSS que facilita, em muito, a aquisição destes dados.

Estes dados serão utilizados em análises em outros artigos e serão nossa fonte padrão de dados para muitas aplicações.

Como encontrar fontes RSS?

Infelizmente não encontrei um bom repositório de Feeds RSS para conteúdos em português, mas você pode usar a busca do Google para te ajudar. Encontrei, por exemplo, que o site da Folha para RSS é o seguinte:

https://www1.folha.uol.com.br/feed/

Neste endereço você tem acesso aos links rss de todas as seções do site, separados por assuntos. Peguei como por exemplo o RSS Folha Poder. Este link é basicamente a URL de um arquivo XML que é atualizado constantement com novos conteúdos.

Usando o R para acessar fontes RSS

Agora vem a parte mais interessante, como carregar o conteúdo das notícias no R - vamos pegar o exemplo do InfoMoney - Onde Investir:

# install.packages("tidyRSS")
library(tidyRSS)

rss = tidyfeed("https://feeds.folha.uol.com.br/poder/rss091.xml")
names(rss) # Verificar quais colunas este data-frame contém.
## [1] "feed_title"          "feed_link"           "feed_description"   
## [4] "feed_language"       "item_title"          "item_date_published"
## [7] "item_description"    "item_link"
rss$item_description # Checando o conteúdo desta coluna.
##  [1] "\nNa casa em que <a href=\"https://www1.folha.uol.com.br/ilustrada/2012/10/1163319-sociologo-lanca-livro-em-que-investiga-o-espiritismo.shtml\">Chico Xavier</a> (1910-2002) morou boa parte da sua vida, em Uberaba (MG), quase tudo está como o médium deixou em vida. Mas, em meio ao acervo repleto de itens que o acompanharam, chama a atenção trecho de um aviso colocado no local: \"O&nbsp;museu [...] é particular de propriedade do filho de Chico Xavier, Eurípedes Humberto Higino dos Reis\".\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/dentista-ve-negada-acao-de-reconhecimento-como-filho-adotivo-de-chico-xavier.shtml\">Leia mais</a> (06/16/2019 - 16h49)"                                                                                                                                                                                                                                                                                                                       
##  [2] "\nO ministro Paulo Guedes (Economia) procura um perfil de mercado para a vaga de Joaquim Levy, que pediu demissão do BNDES na manhã deste domingo (16), informa Mariana Carneiro. A ideia é trazer alguém que conheça a operação de um banco de investimentos, a exemplo de Pedro Guimarães, que preside a Caixa é considerado bem-sucedido [...] ... Leia post completo no <a href=\"https://painel.blogfolha.uol.com.br/?p=31828\">blog</a>\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://painel.blogfolha.uol.com.br/?p=31828\">Leia mais</a> (06/16/2019 - 16h31)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                       
##  [3] "\nA Polícia Civil do Pará prendeu neste domingo (16) dois fazendeiros suspeitos da <a href=\"https://www1.folha.uol.com.br/poder/2019/06/ex-pt-sindicalista-bolsonarista-e-morto-em-meio-a-disputa-por-terra-indigena-no-pa.shtml\">morte do sindicalista Carlos Cabral</a>, 58, assassinado a tiros na última terça-feira (11), em Rio Maria, município a 820 km ao sul do Belém.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/fazendeiros-sao-presos-no-pa-sob-suspeita-de-matar-sindicalista-bolsonarista.shtml\">Leia mais</a> (06/16/2019 - 13h42)"                                                                                                                                                                                                                                                                                                                                                                                                                                                
##  [4] "\nSob o título &quot;Erro, que erro?&quot;, o artigo a seguir é de autoria do juiz federal Roberto Wanderley Nogueira, do Recife (PE). <b>*</b> O país despertou nos últimos dias com candentes noticiários acerca de conteúdos vazados, a partir de conversas privadas de dignitários da República envolvidos nas ações persecutórias da denominada Operação Lava Jato, a [...] ... Leia post completo no <a href=\"https://blogdofred.blogfolha.uol.com.br/?p=44077\">blog</a>\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://blogdofred.blogfolha.uol.com.br/?p=44077\">Leia mais</a> (06/16/2019 - 12h43)"                                                                                                                                                                                                                                                                                                                                                                                                                                
##  [5] "\nAos inimigos, a lei Oito advogados que atuaram em dezenas de casos relevantes para a força-tarefa da Lava Jato de Curitiba relatam um modelo de relação com o ex-juiz Sergio Moro muito diferente do que aparece nas mensagens entre ele e o procurador Deltan Dallagnol, segundo o The Intercept. Nenhum desses defensores jamais teve o telefone [...] ... Leia post completo no <a href=\"https://painel.blogfolha.uol.com.br/?p=31816\">blog</a>\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://painel.blogfolha.uol.com.br/?p=31816\">Leia mais</a> (06/16/2019 - 02h00)"                                                                                                                                                                                                                                                                                                                                                                                                                                                              
##  [6] "\nA sala do <a href=\"https://www1.folha.uol.com.br/poder/2018/11/rj-e-o-primeiro-a-ter-estado-e-capital-governado-por-partidos-cristaos.shtml\">vice-governador do Rio de Janeiro, Cláudio Castro (PSC)</a>, é decorada por símbolos religiosos, uma bandeira da Polícia Militar, entre outros itens. Quase nada foi levado por ele, mas sim deixado pelo seu antecessor, <a href=\"https://www1.folha.uol.com.br/colunas/alvaro-costa-e-silva/2018/12/criador-e-criatura.shtml\">Francisco Dornelles (PP)</a>.<br>\n<br>\nInstalado no quinto andar do prédio anexo ao Palácio Guanabara, Castro era até meados do ano passado um cantor religioso,&nbsp;membro da Renovação Carismática da Igreja Católica, cuja principal meta de curto prazo era renovar seu mandato na Câmara Municipal, para o qual foi eleito com 10.262 votos.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/popstar-catolico-vice-vira-primeiro-assessor-de-witzel-no-governo-do-rj.shtml\">Leia mais</a> (06/16/2019 - 02h00)"
##  [7] "\nA operação realizada pela <a href=\"https://www1.folha.uol.com.br/poder/2019/03/aos-5-anos-lava-jato-em-curitiba-vive-entressafra-mas-espera-2019-agitado.shtml\">Lava Jato em Curitiba</a> para <a href=\"https://www1.folha.uol.com.br/mercado/2019/01/petrobras-deposita-r-25-bilhoes-em-fundo-a-ser-investido-em-acoes-anticorrupcao.shtml\">receber no Brasil R$ 2,5 bilhões da Petrobras</a>, fruto de um acordo entre a estatal e os EUA, levantou suspeitas entre autoridades que analisam o caso em Brasília e temor de prejuízo ao poder público.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/contestado-fundo-da-lava-jato-traz-risco-de-prejuizo-publico-de-r-22-milhoes.shtml\">Leia mais</a> (06/16/2019 - 02h00)"                                                                                                                                                                                                                                                                     
##  [8] "\nA ida do ministro Sergio Moro (Justiça) à CCJ (Comissão de Constituição e Justiça) do Senado nesta próxima quarta-feira (19) foi resultado de um cálculo do desgaste a que o <a href=\"https://www1.folha.uol.com.br/poder/2019/06/site-publica-mensagens-que-mostram-colaboracao-entre-moro-e-deltan-na-lava-jato.shtml\">ex-juiz da Lava Jato seria submetido no Congresso</a>.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/ida-de-moro-ao-senado-e-estrategia-para-evitar-cpi-sobre-dialogo-com-lava-jato.shtml\">Leia mais</a> (06/16/2019 - 02h00)"                                                                                                                                                                                                                                                                                                                                                                                                                                             
##  [9] "\nNada aconteceu ao acaso nesta etapa fúnebre do nosso fracasso como país. A partir de tal premissa, é preciso dizer que os <a href=\"https://www1.folha.uol.com.br/poder/2019/06/conversas-sobre-odebrecht-sugerem-que-moro-e-deltan-ignoraram-limites-da-lei.shtml\">atos delinquentes de Sergio Moro, Deltan Dallagnol e outros da Lava Jato</a> só puderam multiplicar-se por contarem com o endosso de vozes e atitudes que deveriam eliminá-los. É preciso, pois, distribuir as responsabilidades anexas à delinquência, não pouco delinquentes elas mesmas.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/colunas/janiodefreitas/2019/06/delinquencia-multipla.shtml\">Leia mais</a> (06/16/2019 - 02h00)"                                                                                                                                                                                                                                                                                                      
## [10] "\nAté agora, Sergio Moro não se saiu muito bem no papel de inquirido. O ex-juiz derrapou ao admitir que indicou uma testemunha aos procuradores da Lava Jato sem respeitar formalidades. \"Recebi aquela informação e, vamos dizer, foi até um descuido meu, apenas passei pelo aplicativo\", afirmou, na sexta (14).\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/colunas/bruno-boghossian/2019/06/descuido-muda-posicao-de-equilibrio-de-moro-no-centro-do-poder.shtml\">Leia mais</a> (06/16/2019 - 02h00)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        
## [11] "\nA divulgação pelo site The Intercept de <a href=\"https://www1.folha.uol.com.br/poder/2019/06/site-publica-mensagens-que-mostram-colaboracao-entre-moro-e-deltan-na-lava-jato.shtml\">supostas conversas</a> entre juiz e <a href=\"https://www1.folha.uol.com.br/poder/2019/06/veja-quem-sao-e-as-conversas-dos-10-procuradores-da-lava-jato-citados-em-vazamento.shtml\">procuradores</a> na <a href=\"https://www1.folha.uol.com.br/poder/2019/06/fachin-nega-riscos-a-lava-jato-apos-vazamento-e-diz-que-ela-nao-e-suscetivel-a-retrocesso.shtml\">Operação Lava Jato</a> provoca controvérsias.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/colunas/marcos-lisboa/2019/06/a-porta-do-inferno.shtml\">Leia mais</a> (06/16/2019 - 02h00)"                                                                                                                                                                                                                                                                      
## [12] "\nNegócios à parte Crítico de aspectos da Lava Jato há tempos, o criminalista Alberto Zacharias Toron abriu mão do anonimato e falou abertamente sobre o assunto. Ele diz que as audiências com Moro ocorriam no ambiente &quot;mais formal possível&quot;. Oi e Tchau &quot;Ele nunca se mostrou acessível. Não era sujeito de sorrisos. As respostas eram secas e [...] ... Leia post completo no <a href=\"https://painel.blogfolha.uol.com.br/?p=31817\">blog</a>\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://painel.blogfolha.uol.com.br/?p=31817\">Leia mais</a> (06/16/2019 - 01h59)"                                                                                                                                                                                                                                                                                                                                                                                                                                               
## [13] "\nSniper Ex-secretário de política econômica, o presidente do Insper, Marcos Lisboa, endossa críticas feitas por Paulo Guedes (Economia) ao relatório da reforma da Previdência, apresentado na quinta (13) por Samuel Moreira (PSDB-SP). Sniper 2 Para ele, o texto peca ao aliviar a transição para servidores e ao excluir os estados. Teria havido ainda o que Lisboa chama de &quot;oportunismo&quot; no aumento [...] ... Leia post completo no <a href=\"https://painel.blogfolha.uol.com.br/?p=31819\">blog</a>\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://painel.blogfolha.uol.com.br/?p=31819\">Leia mais</a> (06/16/2019 - 01h59)"                                                                                                                                                                                                                                                                                                                                                                                             
## [14] "\nEm evento do Exército&nbsp;em Santa Maria (RS) neste sábado (15), <a href=\"https://www1.folha.uol.com.br/poder/2019/06/nao-existe-confianca-100-afirma-bolsonaro-sobre-moro.shtml\">o presidente Jair Bolsonaro (PSL)</a> disse que armar a população pode evitar golpes de&nbsp;Estado.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/bolsonaro-defende-armar-a-populacao-para-evitar-golpe-de-estado.shtml\">Leia mais</a> (06/15/2019 - 22h20)"                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    
## [15] "\n\"Meu cardiologista diz que depois dos 60 a natureza é assassina. E eu noto a cada dia que ele tem absoluta razão\". Com essa frase irônica, <a href=\"https://www1.folha.uol.com.br/poder/2019/06/corpo-de-jornalista-clovis-rossi-e-enterrado-em-sao-paulo.shtml\">o jornalista Clóvis </a><a href=\"https://www1.folha.uol.com.br/poder/2019/06/corpo-de-jornalista-clovis-rossi-e-enterrado-em-sao-paulo.shtml\">Rossi</a> se apresentou à turma de jornalismo sênior criada pela <b>Folha</b> em outubro de 2016. \"Isso aqui é um bate-papo em que vocês podem fazer as perguntas que quiserem, sobre qualquer tipo de assunto, não tem restrição para falar de nada\". Numa evidente inversão de papéis, dessa vez o repórter se deixou entrevistar.\n<a href=\"https://redir.folha.com.br/redir/online/poder/rss091/*https://www1.folha.uol.com.br/poder/2019/06/clovis-rossi-por-clovis-rossi-o-dia-em-que-o-reporter-se-deixou-entrevistar.shtml\">Leia mais</a> (06/15/2019 - 21h52)"

Como pode ser visto, a coluna item_description tem o conteúdo das notícias. Temos outras colunas importantes também como item_date_published que nos permite utilizar para fazer análises temporais no futuro. Fique à vontade para explorar as demais colunas.

Vou utilizar a coluna de data para selecionar apenas os artigos publicados na data mais recente. Note também que no conteúdo dos sites temos tags HTML como hyperlinks. Vamos removê-las também.

library(dplyr)

hoje <- rss %>%
  filter(as.Date(item_date_published) == as.Date("2019-06-16")) %>%
  select(item_link, item_description) %>%
  mutate(item_description = gsub("<.*?>", "", item_description)) # Remove tags html

hoje
## # A tibble: 15 x 2
##    item_link                          item_description                     
##    <chr>                              <chr>                                
##  1 https://redir.folha.com.br/redir/… "\nNa casa em que Chico Xavier (1910…
##  2 https://redir.folha.com.br/redir/… "\nO ministro Paulo Guedes (Economia…
##  3 https://redir.folha.com.br/redir/… "\nA Polícia Civil do Pará prendeu n…
##  4 https://redir.folha.com.br/redir/… "\nSob o título &quot;Erro, que erro…
##  5 https://redir.folha.com.br/redir/… "\nAos inimigos, a lei Oito advogado…
##  6 https://redir.folha.com.br/redir/… "\nA sala do vice-governador do Rio …
##  7 https://redir.folha.com.br/redir/… "\nA operação realizada pela Lava Ja…
##  8 https://redir.folha.com.br/redir/… "\nA ida do ministro Sergio Moro (Ju…
##  9 https://redir.folha.com.br/redir/… "\nNada aconteceu ao acaso nesta eta…
## 10 https://redir.folha.com.br/redir/… "\nAté agora, Sergio Moro não se sai…
## 11 https://redir.folha.com.br/redir/… "\nA divulgação pelo site The Interc…
## 12 https://redir.folha.com.br/redir/… "\nNegócios à parte Crítico de aspec…
## 13 https://redir.folha.com.br/redir/… "\nSniper Ex-secretário de política …
## 14 https://redir.folha.com.br/redir/… "\nEm evento do Exército&nbsp;em San…
## 15 https://redir.folha.com.br/redir/… "\n\"Meu cardiologista diz que depoi…

Análise de Frequência

Como você pode notar, a coluna item_date_published vem no format DateTime, que possui a data e o horário exato da publicação. Neste caso, para facilitar a filtragem, usei a função as.Date() para converter para Date e aplicar o filtro. Em seguir, aplicando o que já aprendemos nos artigos anteriores para entender a análise de frequência de palavras:

library(tidytext)
library(tm)
library(ptstem)
library(ggplot2)

# Pré-processamento
hoje$item_description <- ptstem(hoje$item_description) # Retorno ao radical

# Processamento
hoje_palavras <- hoje %>%
  unnest_tokens(palavra, item_description) %>%
  filter(!palavra %in% stopwords(kind = "pt")) %>%
  count(palavra, sort = TRUE) %>%
  mutate(palavra = reorder(palavra, n)) %>%
  top_n(20) %>%
  ggplot(aes(palavra, n)) +
  geom_col() +
  xlab(NULL) +
  coord_flip()

hoje_palavras

Este resultado nos traz alguns insights interessantes:

  • Ainda é preciso algum pré-processamento – temos números representando data e hora, algumas palavras que não trazem muito contexto dentro deste conteúdo, como por exemplo: leia, post, blog.

  • Apesar das oportunidades de pré-processamento, podemos ter alguns insights importantes como por exemplo o conteúdo focado em na Lava Jato e no ex-juiz Sérgio Moro. Este conteúdo dominou o noticiário nos dias em que este código foi executado.

Considerações Finais

Quando se trabalha com novas fontes de dados, sempre haverá oportunidades de melhoria no tratamento e pré-processamento de dados, sobretudo se as fontes de dados forem diferentes em formatos. De qualquer forma, feeds RSS são uma importante e simplificada forma de se obter dados de notícias/portais sem precisar fazer web-scrapping.

Um abraço e bons estudos!