R语言中处理XML/HTML函数详解-爬虫相关

本篇介绍XML 程序包中的函数,因函数较多,侧重于爬虫相关的函数

1.xmlTreeParse(),htmlTreeParse()	#解析XML或HTML文件,或者包含XML/HTML内容的字符串,并生成标准的XML/HTML树形R结构,当内容已知为HTML时,使用后者(XMLDocumentContent:生成对象类型)
2.xmlParse(),htmlParse()	#整理网页树结构,与xmlTreeParse和htmlTreeParse等价,区别在useInternalNodes=T即convert function使用的类是XMLInternalNode,而不是XMLNode,可使用xpathApply和getNodeSet函数
注:htmlParse函数可以抓取http页面,不能抓取https页面(当输入URL时)
3.getNodeSet(doc,path)		#提取定位资源,必须是XPath表达式
  xpathApply(doc,path,fun, ...)
xpathSApply(doc,path,fun=NULL, ...)	#xpathSApply是xpathApply的一个版本,试图简化结果(如果能被转换成向量或矩阵,而不是列表)
4.xmlRoot()	#获取根目录,针对XMLDocumentContent/XMLInternalDocument/HTMLDocument类,xmlTreeParse/htmlTreeParse/xmlParse/htmlParse函数生成的对象均可使用,顶级XML主体节点
5.xmlName()	#节点名称,输入XMLnode对象(xmlRoot()函数生成对象处理而成)
xmlSize()	#子节点个数,输入XMLnode对象(xmlRoot()函数生成对象处理而成)
xmlParent()	#获取XMLInternalNode节点的父节点(xmlRoot()函数生成对象处理而成)
xmlChildren()	#获取XMLInternalNode节点的子节点(xmlRoot()函数生成对象处理而成)
xmlAncestors()	#从顶部起遍历父节点,相当于层层解析出子节点,返回list
getSibling(node,after=T)	#向左向右的姐弟间的值,T-right,F-left
#举例
fileName <- system.file("exampleData", "test.xml", package="XML") 
doc <- xmlTreeParse(fileName)
xmlName(xmlRoot(doc)[[1]])
tt = xmlRoot(doc)[[1]]
xmlName(tt)
xmlName(tt) <- "bob"
6.xmlAttrs()	#返回命名的字符向量,给出XML Node对象属性的[标签-标签值]
xmlGetAttr(node,name)	#XML Node对象属性name值  
xmlValue(node)	#提取XML Node对象属性所对应的值  
7.readHTMLTable()	#读取表格数据,输入是文件名/URL/HTMLInternalDocument(htmlParse()函数生成)/XMLInternalElementNode类型/包含和处理HTML内容的字符向量
8.xmlToDataFrame("input.xml")

将函数分成以上8类,便于理解

猜你喜欢

转载自blog.csdn.net/qq_38984677/article/details/81460259
今日推荐