R:从网站中提取单词

R: Extract words from a website

我正在尝试从网站中提取以特定短语开头的所有单词。我使用的网站是:

http://docs.ggplot2.org/current/

我想提取所有以"stat_"开头的单词。我应该在 return 中得到 21 个名字,例如 "stat_identity"。我有以下代码:

 stats <- readLines("http://docs.ggplot2.org/current/")
 head(stats)

 grep("stat_{1[a-z]", stats, value=TRUE)

我 return 编辑了包含短语 "stat_" 的每一行。我只想提取 "stat_" 个单词。所以我尝试了其他方法:

 gsub("\b^stat_[a-z]+ ", "", stats)

我认为我得到的输出是一个空字符串“”,"stat_" 短语应该在哪里?所以现在我想办法提取所有文本并将所有 not a "stat_" 短语设置为空字符串。有人对如何获得我想要的输出有任何想法吗?

rvest & stringr 救援:

library(xml2)
library(rvest)
library(stringr)

pg <- read_html("http://docs.ggplot2.org/current/")

unique(str_match_all(html_text(html_nodes(pg, "body")),
                     "(stat_[[:alnum:]_]+)")[[1]][,2])
##  [1] "stat_bin"                 "stat_bin2dCount"         
##  [3] "stat_bindot"              "stat_binhexBin"          
##  [5] "stat_boxplot"             "stat_contour"            
##  [7] "stat_density"             "stat_density2d"          
##  [9] "stat_ecdf"                "stat_functionSuperimpose"
## [11] "stat_identity"            "stat_qqCalculation"      
## [13] "stat_quantile"            "stat_smooth"             
## [15] "stat_spokeConvert"        "stat_sum"                
## [17] "stat_summarySummarise"    "stat_summary_hexApply"   
## [19] "stat_summary2dApply"      "stat_uniqueRemove"       
## [21] "stat_ydensity"            "stat_defaults"

除非你需要链接(然后你可以使用其他rvest功能),这会为你删除所有标记,只给你网站的文本.