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

18 篇文章 1 订阅
4 篇文章 0 订阅

本篇介绍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类,便于理解

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值