使用R从html页面获取数据

时间:2018-10-21 22:16:39

标签: html r

任何人都可以帮助我,为什么下面的代码没有所选表的任何数据?

library('httr')
library('rvest')
url= read_html("http://projects.worldbank.org/search?lang=en&searchTerm=&sectorcode_exact=AB")
table = html_node(url,"table#f05v5-sorting-table.border-top2.border-allside.clearboth")

谢谢!

1 个答案:

答案 0 :(得分:0)

您缺少一些步骤。您的工作流程应如下所示:

dat_html <- read_html("http://projects.worldbank.org/search?lang=en&searchTerm=&sectorcode_exact=AB")

dat_nodes <- html_nodes(dat_html, xpath = "xxxx")

dat <- html_table(dat_nodes)

dat将是一个列表,因此,如果您想要一个数据框,则可以执行以下操作:

dat_df <- as.data.frame(dat)

或者,如果您喜欢小玩意儿:

dat_tbl <- as_tibble(dat)

在该网页上找不到您感兴趣的表,因此您必须用感兴趣的表的xpath替换"xxxx"

要查找xpath,如果要检查铬或铬的页面,则可以右键单击检查器窗口中的节点,依次依次找到CopyCopy XPath