Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 识别网页上的HTML元素_R - Fatal编程技术网

R 识别网页上的HTML元素

R 识别网页上的HTML元素,r,R,我在网上找到了一些示例R脚本。这两个脚本都完全符合我的预期,但我不确定如何解释HTML,因此我无法真正解决这两个脚本。请给我解释一下 R如何知道在下面的示例中查找名为'elo'的表 elo = htmlParse("http://tennisabstract.com/reports/atp_elo_ratings.html") class(elo) elo.table = readHTMLTable(elo, header=T, which=5,stringsAsFactors=F) elo.t

我在网上找到了一些示例R脚本。这两个脚本都完全符合我的预期,但我不确定如何解释HTML,因此我无法真正解决这两个脚本。请给我解释一下

R如何知道在下面的示例中查找名为
'elo'
的表

elo = htmlParse("http://tennisabstract.com/reports/atp_elo_ratings.html")
class(elo)
elo.table = readHTMLTable(elo, header=T, which=5,stringsAsFactors=F)
elo.table
library(rvest)
library(ggplot2)

page <- read_html("https://scholar.google.com/citations?user=sTR9SIQAAAAJ&hl=en&oi=ao")

citations <- page %>% html_nodes ("#gsc_a_b .gsc_a_c") %>% html_text()%>%as.numeric()

# citations 
# 148 96 79 64 57 57 57 55 52 50 48 37 34 33 30 28 26 25 23 22 

barplot(citations, main="How many times has each paper been cited?", ylab='Number of citations', col="skyblue", xlab="")
类似地,R如何知道在下面的示例中查找名为
“#gsc_a_b.gsc_a_c”
的html节点

elo = htmlParse("http://tennisabstract.com/reports/atp_elo_ratings.html")
class(elo)
elo.table = readHTMLTable(elo, header=T, which=5,stringsAsFactors=F)
elo.table
library(rvest)
library(ggplot2)

page <- read_html("https://scholar.google.com/citations?user=sTR9SIQAAAAJ&hl=en&oi=ao")

citations <- page %>% html_nodes ("#gsc_a_b .gsc_a_c") %>% html_text()%>%as.numeric()

# citations 
# 148 96 79 64 57 57 57 55 52 50 48 37 34 33 30 28 26 25 23 22 

barplot(citations, main="How many times has each paper been cited?", ylab='Number of citations', col="skyblue", xlab="")
库(rvest)
图书馆(GG2)
页面%html\u text()%%>%as.numeric()
#引证
# 148 96 79 64 57 57 57 55 52 50 48 37 34 33 30 28 26 25 23 22 
条形图(引文,main=“每篇论文被引用了多少次?”,ylab=“引文数量”,col=“skyblue”,xlab=”“)
如果我转到这两个页面并点击F12,我可以看到每个页面后面的所有HTML。我在第一个URL中搜索了
elo
,在第二个URL中搜索了
#gsc_a_b.gsc_a_c
。我在任何地方都看不到这些变量!我以为我知道如何阅读HTML,但这让我觉得我不知道它是如何工作的。或者,这有什么特别的窍门吗


如果您能深入了解R在这两种情况下如何解释HTML,我将不胜感激

对于第一个示例,
elo
是一个变量名,而不是HTML元素。代码将整个页面读入elo变量,并使用
readHTMLTable
提取表元素


对于第二个示例,您需要更多地了解CSS选择器
.gsc_a_b
表示类为
gsc_a_b
的HTML元素
#gsc_a_c
表示id为
gsc_c
的HTML元素,您需要注意@warmoverflow的建议。如果你要学习HTML,你需要学习HTML。没有通往知识的捷径。啊!现在它有意义了。谢谢warmoverflow!