搜索
查看: 2352|回复: 1

[R] 用R的XML包来解析DOM或者XML格式数据

[复制链接]

634

主题

1182

帖子

4030

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
4030
发表于 2017-4-3 19:45:48 | 显示全部楼层 |阅读模式
现在网页主流格式是DOM,就是一堆标签包着内容,这样浏览器解析标签,人类浏览内容即可,非常和谐。
但是如果是需要写程序来获取内容,就要排除标签的干扰,在R里面,XML包就是来做这件事的。

如果写爬虫,一般是要学一下的。

[AppleScript] 纯文本查看 复制代码
# [url]https://www.stat.berkeley.edu/~statcur/Workshop2/Presentations/XML.pdf[/url]

library(XML)
##  xmlInternalTreeParse() or xmlTreeParse() ,htmlTreeParse() 

doc = xmlInternalTreeParse("http://genome.ucsc.edu/cgi-bin/das/hg38/dna?segment=chr1:876499,876600")

##  getNodeSet() and xpathApply() 
##  xmlName() , xmlAttrs() , xmlGetAttr() , xmlChildren() and xmlValue()

src = xpathApply(doc, "//DNA[@length]", xmlValue, "length")



上面这个代码,我觉得把XML包讲清楚了,不知道你看清楚了没有呢



上一篇:使用AceView了解特定基因的研究现状
下一篇:构建本地bioc镜像,提高工作效率
你这个问题很复杂,需要打赏,请点击 http://www.bio-info-trainee.com/donate 进行打赏,谢谢
回复

使用道具 举报

1

主题

3

帖子

92

积分

注册会员

Rank: 2

积分
92
发表于 2017-4-4 13:57:41 | 显示全部楼层
文本处理不是R的菜,还是交给胶水脚本语言好点哦
[Python] 纯文本查看 复制代码
# coding: utf-8

# In[1]:

import urllib.request


# In[2]:

h1 = urllib.request.urlopen('http://genome.ucsc.edu/cgi-bin/das/hg38/dna?segment=chr1:876499,876600').peek()


# In[3]:

h2 =  h1.decode().replace('\n',"")


# In[4]:

import xml.etree.ElementTree as ET


# In[5]:

root = ET.fromstring(h2)


# In[6]:

aa = root.find('./SEQUENCE/DNA')


# In[7]:

aa.text


# In[ ]:




回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|生信技能树 ( 粤ICP备15016384号  

GMT+8, 2019-10-21 09:15 , Processed in 0.030471 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.