接上篇,用R获取网页数据之后的处理
当获取表格数据时,可以用readHTMLTable来获取数据,很方便。当数据不是表格化的时,则常用xmlTreeParse(xmlParse)和getNodeSet配合来获取相应的数据。xmlTreeParse 来抓取页面数据,并且形成树。getNodeSet来对树结构数据,根据XPath语法来选取特定的节点集。下面举个实际例子来讲解一下这两个最重要函数的应用。
(一)XML解析网页并提取数据
library(XML)
URL = 'http://www.w3school.com.cn/example/xmle/books.xml'
doc <- xmlParse(URL);##解析网页##还有其他参数,如encoding##
##(1)选取属于bookstore子元素的第一个book元素
getNodeSet(doc,'/bookstore/book[1]') ##此方法不常用
##获取根节点
top <- xmlRoot(doc)
##获取某个节点下数据
top[2]
##使用XPath语句查询
##(2)先筛选符合条件的节点