前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用rvest从COSMIC中获取突变表格

使用rvest从COSMIC中获取突变表格

作者头像
生信技能树
发布2022-04-14 13:19:10
1.9K0
发布2022-04-14 13:19:10
举报
文章被收录于专栏:生信技能树生信技能树

了解网页

在学习如何爬取网页之前,要了解网页本身的结构。 用于构建网页的主要语言为 HTML,CSS和Javascript。HTML为网页提供了其实际结构和内容。CSS为网页提供了其样式和外观,包括字体和颜色等细节。Javascript提供了网页功能。在此,我们将主要关注如何使用R包来读取构成网页的 HTML 。

HTML

HTML为一种标记语言,它描述了网页的内容和结构。不同的标签执行不同的功能。许多标签一起形成并包含网页的内容。常见的HTML文档如下所示:

代码语言:javascript
复制
<head>
</head>
<body>
<p>
Here's a paragraph of text!
</p>
<p>
Here's a second paragraph of text!
</p>
</body>
</html>

每个标签都是"配对"的, 且允许标签彼此嵌套。这种嵌套为 HTML 提供了一个"树状"结构。这种树状结构将告知我们在使用R进行网络抓取时如何查找某些标签。

使用rvest从COSMIC中获取突变表格

安装并导入R包

代码语言:javascript
复制
install.packages(“rvest”)
library(rvest)

为了开始解析一个网页,我们首先需要从包含它的计算机服务器请求数据。在revest中,使用read_html(),接受一个web URL作为参数。 以TP53基因为例,在COSMIC网站中检索。在网页右上角点击使用开发人员工具找到URL。

read_html() 函数返回一个列表对象,该对象包含前面讨论的树状结构。

代码语言:javascript
复制
url<- 'https://cancer.sanger.ac.uk/cosmic/gene/mutations?all_data=&coords=AA:AA&dr=&end=394&gd=&id=348585&ln=TP53&seqlen=394&src=gene&start=1&export=json&sEcho=1&iColumns=6&sColumns=&iDisplayStart=0&iDisplayLength=30&mDataProp_0=0&sSearch_0=&bRegex_0=false&bSearchable_0=true&bSortable_0=true&mDataProp_1=1&sSearch_1=&bRegex_1=false&bSearchable_1=true&bSortable_1=true&mDataProp_2=2&sSearch_2=&bRegex_2=false&bSearchable_2=true&bSortable_2=true&mDataProp_3=3&sSearch_3=&bRegex_3=false&bSearchable_3=true&bSortable_3=true&mDataProp_4=4&sSearch_4=&bRegex_4=false&bSearchable_4=true&bSortable_4=true&mDataProp_5=5&sSearch_5=&bRegex_5=false&bSearchable_5=true&bSortable_5=true&sSearch=&bRegex=false&iSortCol_0=0&sSortDir_0=asc&iSortingCols=1'
r1 <- read_html(url)
r1
{html_document}
<html>
[1] <body><p>Position\tCDS Mutation\tAA Mutation\tLegacy Mutation ID\tCount\tT ...

html_nodes()会返回所有符合规则的记录。而html_node()是html_nodes()的单数形式,只返回第一条记录。在此,输入的是<p>标签的内容。 html_text()的输入参数是html_node()或html_nodes()的输出结果,返回值是对应网页展现的内容。

代码语言:javascript
复制
r <- read_html(url) %>% html_node('p') %>% html_text()
write.table(r,file="data.txt", sep='\t', row.names = FALSE)
##编辑header以获得所需的格式
x = read.table("data.txt", sep = "\t", skip = 2, fill = TRUE) 
colnames(x) = c("AA_Position", "CDS_Mutation", "AA_Mutation", "COSMIC_ID", "count", "Mutation_type")

得到我们想要的表格

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信技能树 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • HTML
  • 使用rvest从COSMIC中获取突变表格
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档