使用rvest寻址字段的两种方法有什么区别
我有一个关于使用rvest寻址字段的两种方法有什么区别,r,xpath,rvest,R,Xpath,Rvest,我有一个关于rvest的快速问题。 这两个电话有什么区别 library(rvest) document <- read_html('http://www.wikidata.org') 为什么它在我过滤的节点之外寻找 这仅仅是我的错误理解,还是一些页面问题或库错误?帮助页面实际上谈到了这一点: XPath选择器------------------------------------------ 使用XPath链接有点棘手-您可能需要改变 您正在使用的前缀-//始终从根noot中选择 无论
rvest
的快速问题。
这两个电话有什么区别
library(rvest)
document <- read_html('http://www.wikidata.org')
为什么它在我过滤的节点之外寻找
这仅仅是我的错误理解,还是一些页面问题或库错误?帮助页面实际上谈到了这一点: XPath选择器------------------------------------------
使用XPath链接有点棘手-您可能需要改变
您正在使用的前缀-//始终从根noot中选择
无论您当前在文档中的位置 因此,如果在管道之后使用
/
,搜索将忽略管道所在的位置,并在树中找到任何div/span[3]
您要使用:
content <- document %>%
html_nodes(xpath = "/html/body/div[3]/div[3]/div[4]/div[1]")
string <- content %>%
html_node(xpath = "div[3]/div/div/div") %>%
html_text()
好啊在我的示例中,告诉我变量
scr
和cn
具有相同的信息?它们是我的“文件”。我想使用cn%html\u节点(xpath=“/html/body/div[2]/div[5]/div[6]”
我已经限制了这一秒的节点数少于scr
?如果在xpath中不使用/
,那么就要进行编辑以使其更清晰,哈哈!我真蠢!我用一个/
编写了heaBM%html\u节点(xpath=“/div/span[3]”%>%html\u text()
,得到了空字符串。伟大的小小的疏忽造成了我的问题。谢谢!
string<- document %>%
html_nodes(xpath = "/html/body/div[3]/div[3]/div[4]/div[1]/div[3]/div/div/div") %>%
html_text()
> string
# [1] " Learn about data"
"/html/body/div[3]/div[3]/div[4]/div[1]/div[3]/div/div/div"
content <- document %>%
html_nodes(xpath = "/html/body/div[3]/div[3]/div[4]/div[1]")
string <- content %>%
html_node(xpath = "div[3]/div/div/div") %>%
html_text()
string<- document %>%
html_nodes(xpath = "/html/body/div[3]/div[3]/div[4]/div[1]/div[3]/div/div/div") %>%
html_text()