使用 rvest 给 table 的 return 个后代
Using rvest to return descendants of a table
我无法弄清楚为什么以下代码没有返回 xpath
指定的信息。
我正在尝试 select 在页面的 'Core Questions' 部分找到的计数数据。我想让它为第一个问题的 table 工作,然后打算扩展它以对页面上的每个 question/table 做同样的事情。不幸的是,我可以让它下拉我感兴趣的 table 部分。我想答案涉及指定我感兴趣的 < tr > 节点的子节点,即多个 < td > 标签,但我的这样做的尝试继续失败。谁能帮我指定我感兴趣的 table 部分? (如果页面上的所有 10 个 table 都能完成,可加分!)
library(rvest)
detailed <- html("https://www.deakin.edu.au/evaluate/results/old/detail-rep.php?schedule_select=1301&faculty_select=01&school_select=0104&unit_select=MIS202&location_select=B")
q1 <- detailed %>%
html_nodes(xpath='//*[@id="main"]/div/div/form/fieldset[2]/table[1]/tbody/tr/td[2]/div/table/tbody/tr[5]') %>%
html_table(header = TRUE, fill=TRUE)
当我去祖先table时,它拉下了信息,但它非常混乱且难以解释。当我尝试在此 table 中指定元素时,我无法提取信息。谁能向我解释为什么 table[1]
的后代没有被提取?这是下拉代码 table[1]
:
q1 <- detailed %>%
html_nodes(xpath='//*[@id="main"]/div/div/form/fieldset[2]/table[1]') %>%
html_table(header = TRUE, fill = TRUE)
这会让你到达你需要去的地方吗?
allqs <- detailed %>%
html_nodes(css = ".result center") %>%
html_text()
t(matrix(as.numeric(allqs), 5, 10, dimnames = list(c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"),
paste0("Q", 1:10))))
给出:
Strongly Disagree Disagree Neutral Agree Strongly Agree
Q1 0 4 4 9 1
Q2 1 2 2 11 2
Q3 0 0 2 11 5
Q4 1 3 2 9 3
Q5 0 3 4 10 1
Q6 0 1 5 7 2
Q7 0 3 6 6 3
Q8 1 0 2 7 8
Q9 0 0 5 7 5
Q10 0 1 4 7 5
我无法弄清楚为什么以下代码没有返回 xpath
指定的信息。
我正在尝试 select 在页面的 'Core Questions' 部分找到的计数数据。我想让它为第一个问题的 table 工作,然后打算扩展它以对页面上的每个 question/table 做同样的事情。不幸的是,我可以让它下拉我感兴趣的 table 部分。我想答案涉及指定我感兴趣的 < tr > 节点的子节点,即多个 < td > 标签,但我的这样做的尝试继续失败。谁能帮我指定我感兴趣的 table 部分? (如果页面上的所有 10 个 table 都能完成,可加分!)
library(rvest)
detailed <- html("https://www.deakin.edu.au/evaluate/results/old/detail-rep.php?schedule_select=1301&faculty_select=01&school_select=0104&unit_select=MIS202&location_select=B")
q1 <- detailed %>%
html_nodes(xpath='//*[@id="main"]/div/div/form/fieldset[2]/table[1]/tbody/tr/td[2]/div/table/tbody/tr[5]') %>%
html_table(header = TRUE, fill=TRUE)
当我去祖先table时,它拉下了信息,但它非常混乱且难以解释。当我尝试在此 table 中指定元素时,我无法提取信息。谁能向我解释为什么 table[1]
的后代没有被提取?这是下拉代码 table[1]
:
q1 <- detailed %>%
html_nodes(xpath='//*[@id="main"]/div/div/form/fieldset[2]/table[1]') %>%
html_table(header = TRUE, fill = TRUE)
这会让你到达你需要去的地方吗?
allqs <- detailed %>%
html_nodes(css = ".result center") %>%
html_text()
t(matrix(as.numeric(allqs), 5, 10, dimnames = list(c("Strongly Disagree", "Disagree", "Neutral", "Agree", "Strongly Agree"),
paste0("Q", 1:10))))
给出:
Strongly Disagree Disagree Neutral Agree Strongly Agree
Q1 0 4 4 9 1
Q2 1 2 2 11 2
Q3 0 0 2 11 5
Q4 1 3 2 9 3
Q5 0 3 4 10 1
Q6 0 1 5 7 2
Q7 0 3 6 6 3
Q8 1 0 2 7 8
Q9 0 0 5 7 5
Q10 0 1 4 7 5