使用html_nodes

时间:2019-08-23 08:19:36

标签: r web-scraping rvest

我想提取一个网站的页面数量,该页面位于嵌套节点内。

我的网站是https://www.cbanque.com/pratique/agences/credit-mutuel/33/

当我这样做

soup=read_html(page1)

 soup%>%html_nodes("div.col-xs-4)

我明白了

[1] <div class="col-xs-4"> </div>\n
[2] <div class="col-xs-4 tcenter">64 agences - Page 1 / 6</div>\n
[3] <div class="col-xs-4 tright"><a href="/pratique/agences/credit-mutuel/33/2/" class=" ...
[4] <div class="col-xs-4"> </div>\n
[5] <div class="col-xs-4 tcenter">64 agences - Page 1 / 6</div>\n
[6] <div class="col-xs-4 tright"><a href="/pratique/agences/credit-mutuel/33/2/" class=" ...
[7] <div class="col-xs-4">\n\t\t\t<span class="icon-cbanque"></span>\n\t\t</div>
[8] <div class="col-xs-4"> </div>
[9] <div class="col-xs-4 reseau-soc">\n\t\t\tSuivez-nous aussi sur\n\t\t\t<ul class="lis ...

我想访问名为“ col-xs-4 tcenter”的节点及其内部的值。

1 个答案:

答案 0 :(得分:0)

您可以使用str_split

library(rvest))
library(magrittr)

page <- read_html("https://www.cbanque.com/pratique/agences/credit-mutuel/33/")
s <- page %>% html_node(".col-xs-4.tcenter") %>% html_text()
x <- strsplit(s, "/ ", fixed=FALSE)[[1]]
print(x[[-1]])

或正则表达式

library(rvest))
library(magrittr)
library(stringr)

page <- read_html("https://www.cbanque.com/pratique/agences/credit-mutuel/33/")
s <- page %>% html_node(".col-xs-4.tcenter") %>% html_text()
x <- str_match_all(s ,'/\\s+(\\d+)')
print(x[[1]][,2])