我在一个网络爬虫项目中遇到了困难。我的问题是,我需要提取一些节点的信息,同时保存它们祖先的信息。
例如,如果我想在维基百科页面中获取所有项目符号列表中的所有项目,我可以这样做:
library(httr)
library(XML)
html = GET("https://en.wikipedia.org/wiki/Benz_Patent-Motorwagen")
par = htmlParse(html)
xpathSApply(par, "//ul/li", xmlValue)
但我需要的是,每件物品都要与它来自保险商实验室的编号(顺序)配对。我的尝试是:
library(httr)
library(XML)
library(data.table)
html = GET("https://en.wikipedia.org/wiki/Benz_Patent-Motorwagen")
par = htmlParse(html)
dt = data.table(list_number = numeric(0), list_items = character(0))
for(i in 1:length(xpathSApply(par, "//ul"))){
node = getNodeSet(par, "//ul")[[i]]
list_items = xpathSApply(node, "/li", xmlValue)
new = data.table(list_number = i, list_items)
dt = rbind(dt, new)
}
但它没有像我预期的那样起作用。有什么建议吗?