Prof. Walmes Marques Zeviani
09 Mar 2017
Dicas: para inspecionar a página, recorte um fagmento HTML que contenha a informação de interesse e passe o código por um embelezador de HTML (HTML pretty). Exemplos de embelezadores são:
Repetir os passos já apresentados.
library(XML)
library(RCurl)
url <- "https://www.cifraclub.com.br/lulu-santos/assim-caminha-humanidade/simplificada.html"
doc <- htmlParse(getURL(url))
summary(doc)
## $nameCounts
##
## span a li div button i b
## 229 224 200 158 80 75 73
## ul script strong img input label meta
## 37 36 31 27 23 18 15
## link hr option h3 ol form br
## 12 6 5 4 4 3 2
## h1 noscript p section small body footer
## 2 2 2 2 2 1 1
## h2 head header html pre select style
## 1 1 1 1 1 1 1
## textarea title
## 1 1
##
## $numNodes
## [1] 1283
xp <- "//h1"
xpathSApply(doc, path = xp)
## [[1]]
## <h1>
## <a href="/">
## <span class="logo">Cifra Club</span>
## </a>
## </h1>
##
## [[2]]
## <h1 class="t1">Assim Caminha a Humanidade</h1>
xp <- "//div/div/h1"
xpathSApply(doc, path = xp)
## [[1]]
## <h1 class="t1">Assim Caminha a Humanidade</h1>
xpathSApply(doc, path = xp, fun = xmlValue)
## [1] "Assim Caminha a Humanidade"
xp <- "//pre"
xpathSApply(doc, path = xp)
## [[1]]
## <pre>
## Intro 3x: <b>D</b>
##
## <b>D</b> <b>D7+</b>
## Ainda vai levar um tempo
## <b>Em</b>
## Pra fechar o que feriu por dentro
## <b>Gm</b>
## Natural que seja assim
## <b>D</b>
## Tanto pra você quanto pra mim
##
## <b>D7m</b>
## Ainda leva uma cara
##
## Pra gente poder dar risada
## <b>Em</b> <b>Gm</b>
## Assim caminha a humanidade
## <b>D</b>
## Com passos de formiga e sem vontade
## <b>Em</b>
## Não vou dizer que foi ruim
## <b>Gm</b> <b>D</b>
## também não foi tão bom assim
## <b>B7</b> <b>Em</b>
## Não imagine que te quero mal
## <b>Gm</b> <b>D</b>
## Apenas não te quero mais
##
## Base do solo :D3x
##
## <b>D</b> <b>D7m</b>
## Ainda leva uma cara
## <b>B7</b>
## Pra gente poder dar risada
## <b>Em</b> <b>Gm</b>
## Assim caminha a humanidade
## <b>D</b>
## Com passos de formiga e sem vontade
## <b>Em</b>
## Não vou dizer que foi ruim
## <b>D</b>
## também não foi tão bom assim
## <b>Em</b>
## Não imagine que te quero mal
## <b>D</b>
## Apenas não te quero mais
##
## <b>E7</b>
## Não te quero mais
## <b>Gm</b> <b>D</b>
## Não mais, yeeeeaaahh
##
## <b>E7</b>
## Não te quero mais
## <b>Gm</b> <b>D</b>
## Não mais, nunca mais</pre>
xp <- "//pre/b"
# xpathSApply(doc, path = xp)
xpathSApply(doc, path = xp, fun = xmlValue)
## [1] "D" "D" "D7+" "Em" "Gm" "D" "D7m" "Em" "Gm" "D"
## [11] "Em" "Gm" "D" "B7" "Em" "Gm" "D" "D" "D7m" "B7"
## [21] "Em" "Gm" "D" "Em" "D" "Em" "D" "E7" "Gm" "D"
## [31] "E7" "Gm" "D"
url <- "https://www.youtube.com/watch?v=ElvgVlR0bF4"
doc <- htmlParse(getURL(url), encoding = "utf-8")
summary(doc)
## $nameCounts
##
## span div meta a li button link img script
## 294 261 85 73 46 36 26 23 20
## p br ul h3 input label strong h4 form
## 19 14 11 7 4 4 4 3 2
## h1 style body h2 head hr html ol title
## 2 2 1 1 1 1 1 1 1
##
## $numNodes
## [1] 943
xp <- "//div[@class='watch-view-count']"
xpathSApply(doc, path = xp)
## [[1]]
## <div class="watch-view-count">1.550.838 visualizações</div>
xpathSApply(doc, path = xp, fun = xmlValue)
## [1] "1.550.838 visualizações"
url <- "http://www.imovelweb.com.br/apartamentos-venda-centro-curitiba.html"
doc <- htmlParse(url)
summary(doc)
## $nameCounts
##
## a div span li img
## 1038 915 745 689 417
## i ul button input p
## 105 87 75 50 50
## h4 b script label meta
## 44 26 24 17 12
## form h2 link option td
## 11 6 6 5 4
## section html noscript small strong
## 3 2 2 2 2
## style body br h1 h5
## 2 1 1 1 1
## head header hr iframe login-button
## 1 1 1 1 1
## nav select table tbody textarea
## 1 1 1 1 1
## title tr
## 1 1
##
## $numNodes
## [1] 4355
xp <- "//p/span"
xpathSApply(doc, path = xp)
## [[1]]
## <span class="icon-alert">
## <i class="fa fa-bell" aria-hidden="true"/>
## </span>
##
## [[2]]
## <span>Salvar busca</span>
##
## [[3]]
## <span class="icon-dropdopwn">
## <i class="fa fa-angle-down" aria-hidden="true"/>
## </span>
##
## [[4]]
## <span class="icon-alert">
## <i class="fa fa-check" aria-hidden="true"/>
## </span>
##
## [[5]]
## <span>Busca salva</span>
##
## [[6]]
## <span>O preço médio no Centro</span>
##
## [[7]]
## <span>1 Quarto</span>
##
## [[8]]
## <span>2 Quartos</span>
##
## [[9]]
## <span>3 Quartos</span>
##
## [[10]]
## <span>4 Quartos</span>
##
## [[11]]
## <span class="precio-valor "> R$ 90.000</span>
##
## [[12]]
## <span class="precio-valor "> R$ 265.000</span>
##
## [[13]]
## <span class="precio-valor "> R$ 200.000</span>
##
## [[14]]
## <span class="precio-operacion ">
## <span class="lowercase">A partir de</span>
## </span>
##
## [[15]]
## <span class="precio-valor ">R$ 436.000</span>
##
## [[16]]
## <span class="precio-valor "> R$ 200.000</span>
##
## [[17]]
## <span class="precio-valor "> R$ 250.000</span>
##
## [[18]]
## <span class="precio-valor "> R$ 421.210</span>
##
## [[19]]
## <span class="precio-operacion ">
## <span class="lowercase">A partir de</span>
## </span>
##
## [[20]]
## <span class="precio-valor ">R$ 220.000</span>
##
## [[21]]
## <span class="precio-valor "> R$ 305.000</span>
##
## [[22]]
## <span class="precio-operacion">
## Valor condominio
## </span>
##
## [[23]]
## <span class="precio-valor expensas">R$ 400</span>
##
## [[24]]
## <span class="precio-valor "> R$ 209.000</span>
##
## [[25]]
## <span class="precio-valor "> R$ 162.000</span>
##
## [[26]]
## <span class="precio-operacion ">
## <span class="lowercase">A partir de</span>
## </span>
##
## [[27]]
## <span class="precio-valor ">R$ 299.520</span>
##
## [[28]]
## <span class="precio-valor "> R$ 520.000</span>
##
## [[29]]
## <span class="precio-valor "> R$ 225.900</span>
##
## [[30]]
## <span class="precio-valor "> R$ 135.000</span>
##
## [[31]]
## <span class="precio-operacion ">
## <span class="lowercase">A partir de</span>
## </span>
##
## [[32]]
## <span class="precio-valor ">R$ 420.000</span>
##
## [[33]]
## <span class="precio-valor "> R$ 170.000</span>
##
## [[34]]
## <span class="precio-valor "> R$ 370.000</span>
##
## [[35]]
## <span class="precio-operacion">
## Valor condominio
## </span>
##
## [[36]]
## <span class="precio-valor expensas">R$ 885</span>
##
## [[37]]
## <span class="precio-valor "> R$ 175.000</span>
##
## [[38]]
## <span class="precio-operacion ">
## <span class="lowercase">A partir de</span>
## </span>
##
## [[39]]
## <span class="precio-valor ">R$ 320.000</span>
xp <- "//p/span[@class='precio-valor ']"
xpathSApply(doc, path = xp)
## [[1]]
## <span class="precio-valor "> R$ 90.000</span>
##
## [[2]]
## <span class="precio-valor "> R$ 265.000</span>
##
## [[3]]
## <span class="precio-valor "> R$ 200.000</span>
##
## [[4]]
## <span class="precio-valor ">R$ 436.000</span>
##
## [[5]]
## <span class="precio-valor "> R$ 200.000</span>
##
## [[6]]
## <span class="precio-valor "> R$ 250.000</span>
##
## [[7]]
## <span class="precio-valor "> R$ 421.210</span>
##
## [[8]]
## <span class="precio-valor ">R$ 220.000</span>
##
## [[9]]
## <span class="precio-valor "> R$ 305.000</span>
##
## [[10]]
## <span class="precio-valor "> R$ 209.000</span>
##
## [[11]]
## <span class="precio-valor "> R$ 162.000</span>
##
## [[12]]
## <span class="precio-valor ">R$ 299.520</span>
##
## [[13]]
## <span class="precio-valor "> R$ 520.000</span>
##
## [[14]]
## <span class="precio-valor "> R$ 225.900</span>
##
## [[15]]
## <span class="precio-valor "> R$ 135.000</span>
##
## [[16]]
## <span class="precio-valor ">R$ 420.000</span>
##
## [[17]]
## <span class="precio-valor "> R$ 170.000</span>
##
## [[18]]
## <span class="precio-valor "> R$ 370.000</span>
##
## [[19]]
## <span class="precio-valor "> R$ 175.000</span>
##
## [[20]]
## <span class="precio-valor ">R$ 320.000</span>
x <- xpathSApply(doc, path = xp, fun = xmlValue)
as.integer(gsub("\\D", "", x))
## [1] 90000 265000 200000 436000 200000 250000 421210 220000 305000
## [10] 209000 162000 299520 520000 225900 135000 420000 170000 370000
## [19] 175000 320000
url <- "https://www.webmotors.com.br/carros/estoque/volkswagen/crossfox?tipoveiculo=carros&marca1=volkswagen&modelo1=crossfox&estadocidade=estoque"
doc <- htmlParse(getURL(url))
summary(doc)
## $nameCounts
##
## div span a li option i input
## 938 808 580 340 335 156 124
## label ul script strong br h2 img
## 115 68 44 30 16 16 15
## meta button link select p iframe body
## 15 12 7 7 4 2 1
## footer h1 head header hr html nav
## 1 1 1 1 1 1 1
## noscript ol style sup title
## 1 1 1 1 1
##
## $numNodes
## [1] 3645
xp <- "//div[@class='price']"
xpathSApply(doc, path = xp)
## list()
## attr(,"class")
## [1] "XMLNodeSet"
x <- xpathSApply(doc, path = xp, fun = xmlValue)
x
## list()
as.integer(gsub("\\D", "", x))
## integer(0)
url <- "http://www.folha.uol.com.br/"
# browseURL(url)
doc <- htmlParse(url)
summary(doc)
## $nameCounts
##
## a li div span ul script img
## 891 805 246 238 137 90 59
## i h3 section strong h4 input h2
## 42 36 35 35 30 26 22
## header label p td link br h5
## 21 21 18 14 10 5 5
## nav tr form meta fieldset footer h1
## 4 4 3 3 2 2 2
## ol body head html legend noscript small
## 2 1 1 1 1 1 1
## table tbody tfoot time title
## 1 1 1 1 1
##
## $numNodes
## [1] 2819
xp <- "//h3"
xpathSApply(doc, path = xp)
## [[1]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Temer cobra R$ 1,6 mi de centrais sindicais por danos em ministério
## </h3>
##
## [[2]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Presidente se irrita com Serraglio e avalia opção para dar foro a Loures
## </h3>
##
## [[3]]
## <h3 data-vr-excerpttitle="">
##
##
##
## É melhor alguém condenado do que ninguém, diz Moro sobre delações
## </h3>
##
## [[4]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Senado aprova investigados na Lava Jato para Conselho de Ética
## </h3>
##
## [[5]]
## <h3 data-vr-excerpttitle="" class="super">
## Moradores disputam comida estragada por lama após chuvas em PE
## </h3>
##
## [[6]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Na periferia de Maceió, casal <br/>e dois filhos morrem soterrados
## </h3>
##
## [[7]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Unicamp aprova cotas raciais e para escola pública a partir de 2019
## </h3>
##
## [[8]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Desorientado, irmão de Suzane von Richthofen é levado a hospital
## </h3>
##
## [[9]]
## <h3 data-vr-excerpttitle="">
##
##
##
## TJ extingue processo, e Doria perde opção para recolher usuário à força
## </h3>
##
## [[10]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Governo do Rio propõe teto de gastos para os três poderes
## </h3>
##
## [[11]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Governo adia votação da<br/> reforma trabalhista no Senado
## </h3>
##
## [[12]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Roraima e ONU descartam campo de refugiados para venezuelanos
## </h3>
##
## [[13]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Países da OEA querem criar grupo para mediar diálogo na Venezuela
## </h3>
##
## [[14]]
## <h3 data-vr-excerpttitle="">
##
##
##
## EUA testam com sucesso sistema contra mísseis norte-coreanos
## </h3>
##
## [[15]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Advogado de Trump deve depor sobre suposto elo com Rússia
## </h3>
##
## [[16]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Ariana Grande se apresentará no próximo domingo em Manchester
## </h3>
##
## [[17]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Premiê belga sofre dano auditivo após princesa dar tiro de largada
## </h3>
##
## [[18]]
## <h3 data-vr-excerpttitle="">
##
##
##
## Zara pagará R$ 5 mi por descumprir acordo com Ministério Público
## </h3>
##
## [[19]]
## <h3 data-vr-excerpttitle="">
## Sofria bullying de tudo, afirma o músico<br/> Junior Lima</h3>
##
## [[20]]
## <h3 data-vr-excerpttitle="">
## Pedalar é persistir; veja cinco verdades para o iniciante</h3>
##
## [[21]]
## <h3 data-vr-excerpttitle="">
##
##
## Ditador do Panamá durante a Guerra Fria, Manuel Noriega morre aos 83
## </h3>
##
## [[22]]
## <h3 data-vr-excerpttitle="">
##
##
## Morre em SP o espanhol Belarmino Iglesias, fundador do grupo Rubaiyat
## </h3>
##
## [[23]]
## <h3 data-vr-excerpttitle="">
##
##
## Após perder amistosos da seleção, Globo demite diretor de esporte
## </h3>
##
## [[24]]
## <h3 data-vr-excerpttitle="">
##
##
## Roland Garros expulsa tenista que tentou beijar repórter à força
## </h3>
##
## [[25]]
## <h3 data-vr-excerpttitle="">
##
##
## Gentili defende 'separar público do privado' após vídeo contra deputada
## </h3>
##
## [[26]]
## <h3 data-vr-excerpttitle="">
##
##
## Instagram é a pior rede social para saúde mental de jovens, diz pesquisa
## </h3>
##
## [[27]]
## <h3 data-vr-excerpttitle="">
## <i class="sprite icon-photo"/>
##
## Noiva convida apenas amigos para ensaio de casamento e fotos viralizam
## </h3>
##
## [[28]]
## <h3 data-vr-excerpttitle="">
##
##
## Dupla de Marrone, Bruno pede desculpas por embriaguez em show
## </h3>
##
## [[29]]
## <h3 data-vr-excerpttitle="">
##
##
## Benjamin Millepied, marido de Natalie Portman, moderniza o balé
## </h3>
##
## [[30]]
## <h3 data-vr-excerpttitle="">
##
##
## Sorveteria Bacio di Latte é líder entre paulistanos, mostra Datafolha
## </h3>
##
## [[31]]
## <h3 data-vr-excerpttitle="">
##
##
## Quatro varejistas dividem posto de melhor loja de departamento
## </h3>
##
## [[32]]
## <h3 data-vr-excerpttitle="">
##
##
## Folha promove debate sobre a mata atlântica no Dia do Meio Ambiente
## </h3>
##
## [[33]]
## <h3 data-vr-excerpttitle="">
##
##
## Acidentes de trânsito custaram 2,3% do PIB do Brasil em 2016, diz estudo
## </h3>
##
## [[34]]
## <h3>Reportagens</h3>
##
## [[35]]
## <h3 class="sprite ofertas_do_dia"><span class="white"><i class="sprite offer"/></span> Ofertas do dia</h3>
##
## [[36]]
## <h3>
## <a href="http://publifolha.com.br/">
## <span class="sprite icon-publifolha">Publifolha</span>
## </a>
## </h3>
xpathSApply(doc, path = xp, fun = xmlValue)
## [1] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tTemer cobra R$ 1,6 mi de centrais sindicais por danos em ministério\n\t\t\t"
## [2] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tPresidente se irrita com Serraglio e avalia opção para dar foro a Loures\n\t\t\t"
## [3] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tÉ melhor alguém condenado do que ninguém, diz Moro sobre delações\n\t\t\t"
## [4] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tSenado aprova investigados na Lava Jato para Conselho de Ética\n\t\t\t"
## [5] "\n\t\t\t\tMoradores disputam comida estragada por lama após chuvas em PE\n\t\t\t"
## [6] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tNa periferia de Maceió, casal e dois filhos morrem soterrados\n\t\t\t"
## [7] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tUnicamp aprova cotas raciais e para escola pública a partir de 2019\n\t\t\t"
## [8] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tDesorientado, irmão de Suzane von Richthofen é levado a hospital\n\t\t\t"
## [9] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tTJ extingue processo, e Doria perde opção para recolher usuário à força\n\t\t\t"
## [10] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tGoverno do Rio propõe teto de gastos para os três poderes\n\t\t\t"
## [11] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tGoverno adia votação da reforma trabalhista no Senado\n\t\t\t"
## [12] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tRoraima e ONU descartam campo de refugiados para venezuelanos\n\t\t\t"
## [13] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tPaíses da OEA querem criar grupo para mediar diálogo na Venezuela\n\t\t\t"
## [14] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tEUA testam com sucesso sistema contra mísseis norte-coreanos\n\t\t\t"
## [15] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tAdvogado de Trump deve depor sobre suposto elo com Rússia\n\t\t\t"
## [16] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tAriana Grande se apresentará no próximo domingo em Manchester\n\t\t\t"
## [17] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tPremiê belga sofre dano auditivo após princesa dar tiro de largada\n\t\t\t"
## [18] "\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\tZara pagará R$ 5 mi por descumprir acordo com Ministério Público\n\t\t\t"
## [19] "\n\t\t\t\t\t\tSofria bullying de tudo, afirma o músico Junior Lima"
## [20] "\n\t\t\t\t\t\tPedalar é persistir; veja cinco verdades para o iniciante"
## [21] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tDitador do Panamá durante a Guerra Fria, Manuel Noriega morre aos 83\n\t\t\t\t\t"
## [22] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tMorre em SP o espanhol Belarmino Iglesias, fundador do grupo Rubaiyat\n\t\t\t\t\t"
## [23] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tApós perder amistosos da seleção, Globo demite diretor de esporte\n\t\t\t\t\t"
## [24] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tRoland Garros expulsa tenista que tentou beijar repórter à força\n\t\t\t\t\t"
## [25] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tGentili defende 'separar público do privado' após vídeo contra deputada\n\t\t\t\t\t"
## [26] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tInstagram é a pior rede social para saúde mental de jovens, diz pesquisa\n\t\t\t\t\t"
## [27] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tNoiva convida apenas amigos para ensaio de casamento e fotos viralizam\n\t\t\t\t\t"
## [28] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tDupla de Marrone, Bruno pede desculpas por embriaguez em show\n\t\t\t\t\t"
## [29] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tBenjamin Millepied, marido de Natalie Portman, moderniza o balé\n\t\t\t\t\t"
## [30] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tSorveteria Bacio di Latte é líder entre paulistanos, mostra Datafolha\n\t\t\t\t\t"
## [31] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tQuatro varejistas dividem posto de melhor loja de departamento\n\t\t\t\t\t"
## [32] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tFolha promove debate sobre a mata atlântica no Dia do Meio Ambiente\n\t\t\t\t\t"
## [33] "\n\t\t\t\t\t\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\tAcidentes de trânsito custaram 2,3% do PIB do Brasil em 2016, diz estudo\n\t\t\t\t\t"
## [34] "Reportagens"
## [35] " Ofertas do dia"
## [36] "Publifolha"
trimws(xpathSApply(doc, path = xp, fun = xmlValue))
## [1] "Temer cobra R$ 1,6 mi de centrais sindicais por danos em ministério"
## [2] "Presidente se irrita com Serraglio e avalia opção para dar foro a Loures"
## [3] "É melhor alguém condenado do que ninguém, diz Moro sobre delações"
## [4] "Senado aprova investigados na Lava Jato para Conselho de Ética"
## [5] "Moradores disputam comida estragada por lama após chuvas em PE"
## [6] "Na periferia de Maceió, casal e dois filhos morrem soterrados"
## [7] "Unicamp aprova cotas raciais e para escola pública a partir de 2019"
## [8] "Desorientado, irmão de Suzane von Richthofen é levado a hospital"
## [9] "TJ extingue processo, e Doria perde opção para recolher usuário à força"
## [10] "Governo do Rio propõe teto de gastos para os três poderes"
## [11] "Governo adia votação da reforma trabalhista no Senado"
## [12] "Roraima e ONU descartam campo de refugiados para venezuelanos"
## [13] "Países da OEA querem criar grupo para mediar diálogo na Venezuela"
## [14] "EUA testam com sucesso sistema contra mísseis norte-coreanos"
## [15] "Advogado de Trump deve depor sobre suposto elo com Rússia"
## [16] "Ariana Grande se apresentará no próximo domingo em Manchester"
## [17] "Premiê belga sofre dano auditivo após princesa dar tiro de largada"
## [18] "Zara pagará R$ 5 mi por descumprir acordo com Ministério Público"
## [19] "Sofria bullying de tudo, afirma o músico Junior Lima"
## [20] "Pedalar é persistir; veja cinco verdades para o iniciante"
## [21] "Ditador do Panamá durante a Guerra Fria, Manuel Noriega morre aos 83"
## [22] "Morre em SP o espanhol Belarmino Iglesias, fundador do grupo Rubaiyat"
## [23] "Após perder amistosos da seleção, Globo demite diretor de esporte"
## [24] "Roland Garros expulsa tenista que tentou beijar repórter à força"
## [25] "Gentili defende 'separar público do privado' após vídeo contra deputada"
## [26] "Instagram é a pior rede social para saúde mental de jovens, diz pesquisa"
## [27] "Noiva convida apenas amigos para ensaio de casamento e fotos viralizam"
## [28] "Dupla de Marrone, Bruno pede desculpas por embriaguez em show"
## [29] "Benjamin Millepied, marido de Natalie Portman, moderniza o balé"
## [30] "Sorveteria Bacio di Latte é líder entre paulistanos, mostra Datafolha"
## [31] "Quatro varejistas dividem posto de melhor loja de departamento"
## [32] "Folha promove debate sobre a mata atlântica no Dia do Meio Ambiente"
## [33] "Acidentes de trânsito custaram 2,3% do PIB do Brasil em 2016, diz estudo"
## [34] "Reportagens"
## [35] "Ofertas do dia"
## [36] "Publifolha"
# xp <- "//a/h3"
# trimws(xpathSApply(doc, path = xp, fun = xmlValue))
#
# xp <- "//div[@class='item']/a/h3"
# trimws(xpathSApply(doc, path = xp, fun = xmlValue))
#
# xp <- "//*[@data-vr-contentbox='']/a/h3"
# trimws(xpathSApply(doc, path = xp, fun = xmlValue))
# Vetor de queries.
xp <- c(principal = "//header/h1/a",
outras = "//*[@data-vr-contentbox='']/a/h3")
trimws(xpathSApply(doc, path = xp, fun = xmlValue))
## [1] "Fachin autoriza Temer a prestar depoimento por escrito à PF"
## [2] "Temer cobra R$ 1,6 mi de centrais sindicais por danos em ministério"
## [3] "Presidente se irrita com Serraglio e avalia opção para dar foro a Loures"
## [4] "É melhor alguém condenado do que ninguém, diz Moro sobre delações"
## [5] "Senado aprova investigados na Lava Jato para Conselho de Ética"
## [6] "Moradores disputam comida estragada por lama após chuvas em PE"
## [7] "Na periferia de Maceió, casal e dois filhos morrem soterrados"
## [8] "Unicamp aprova cotas raciais e para escola pública a partir de 2019"
## [9] "Desorientado, irmão de Suzane von Richthofen é levado a hospital"
## [10] "TJ extingue processo, e Doria perde opção para recolher usuário à força"
## [11] "Governo do Rio propõe teto de gastos para os três poderes"
## [12] "Governo adia votação da reforma trabalhista no Senado"
## [13] "Roraima e ONU descartam campo de refugiados para venezuelanos"
## [14] "Países da OEA querem criar grupo para mediar diálogo na Venezuela"
## [15] "EUA testam com sucesso sistema contra mísseis norte-coreanos"
## [16] "Advogado de Trump deve depor sobre suposto elo com Rússia"
## [17] "Ariana Grande se apresentará no próximo domingo em Manchester"
## [18] "Premiê belga sofre dano auditivo após princesa dar tiro de largada"
## [19] "Zara pagará R$ 5 mi por descumprir acordo com Ministério Público"
## [20] "Ditador do Panamá durante a Guerra Fria, Manuel Noriega morre aos 83"
## [21] "Morre em SP o espanhol Belarmino Iglesias, fundador do grupo Rubaiyat"
## [22] "Após perder amistosos da seleção, Globo demite diretor de esporte"
## [23] "Roland Garros expulsa tenista que tentou beijar repórter à força"
## [24] "Gentili defende 'separar público do privado' após vídeo contra deputada"
## [25] "Instagram é a pior rede social para saúde mental de jovens, diz pesquisa"
## [26] "Noiva convida apenas amigos para ensaio de casamento e fotos viralizam"
## [27] "Dupla de Marrone, Bruno pede desculpas por embriaguez em show"
## [28] "Benjamin Millepied, marido de Natalie Portman, moderniza o balé"
## [29] "Sorveteria Bacio di Latte é líder entre paulistanos, mostra Datafolha"
## [30] "Quatro varejistas dividem posto de melhor loja de departamento"
## [31] "Folha promove debate sobre a mata atlântica no Dia do Meio Ambiente"
## [32] "Acidentes de trânsito custaram 2,3% do PIB do Brasil em 2016, diz estudo"
xpathApply()
e getNodeSet()
permitem consultas a partir de Xpath.