R 识别网页上的HTML元素
我在网上找到了一些示例R脚本。这两个脚本都完全符合我的预期,但我不确定如何解释HTML,因此我无法真正解决这两个脚本。请给我解释一下 R如何知道在下面的示例中查找名为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
'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!