五行代码,做爬虫;一行代码,下数据

      前一阵子爬了俩fusion相关的网站,今天有兄弟问爬虫相关知识,其实小姐姐也是爬虫菜鸟,好在我们生信相关的网站都不复杂,没有什么需要模拟登陆、socket解析这种(大概做生物网站的大佬们的目的也是为了show数据,技术控志不在此)。所以特别复杂的爬虫技术我也是不会,就是日常应用便是爬取网页数据,在线数据检索/对比,仅此而已。最近也有在学习啦,后期会陆续更新爬虫自助下载什么的,这个不得不说,很多R包真心比爬虫容易多了功能还多,比如一会就要分享一个怎么用R包一条命令下载TCGA数据的。

       OK,感谢理解我碎碎念,这篇用Python爬取TCGA数据,主要分三部分1、地址解析;2、爬虫入门;3、比爬虫更有意思的R包

       1、TCGA的地址解析很容易,没有嵌入,无需审查元素分析源码(吐槽tumorfusion,要不是本宝宝机智,差点就要模拟登陆了,最后还是在审核元素里发现了猫腻,真心地遇到耍小心机的网站,审核元素太有用了,以后用到再讲吧),可以直接获取地址,因为他是“https://portal.gdc.cancer.gov/projects/TCGA-BRCA”介个样子的,太容易解析了有米有。

定量域名:https://portal.gdc.cancer.gov/projects/,变量:gene1=TCGA,gene2=BRCA

首先导入Python相关的包了,与爬虫相关的只有httpbs4,我列这么多是因为后期肯定还要对爬取内容进行文本分析比对啥的(我用的是Python3,Python2导入与HTML相关的包还是有区别的)

我是用的Linux系统,Windows的宝宝建议还是装个pycharm,下面的R包运行建议在Rstudio里面运行(纯粹个人建议,喜欢其他的甚至直接文本编辑也是非常推荐的哟!)

Python和pycharm安装传送门:https://www.cnblogs.com/shizhijie/p/7768973.html

import re
import sys
import numpy
import os
import mechanize
from http import cookiejar
from  bs4 import BeautifulSoup
import requests

      2、爬虫入门,

只需五行Python代码,没错,五行代码即可顺利实现。话不多说,直接上干货,就这一个函数,可以获取检索页面所有内容,简单到炸

def gethtml(gene1,gene2):
    proxies = {
          "http": "http://121.201.24.248:8088",
    }
    url='https://portal.gdc.cancer.gov/projects/'+gene1+'-'+gene2
    headers = {"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9","User-A
gent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.16 Safari/537.36"}
    res = requests.get(url,headers=headers,verify=False).text
    print(res)

后面就是根据需要调用函数了,比如我会直接对爬取内容进行数据检索或者对比。

这个真心需要有一点点Python基础,一点点就够。。。

最简单的,调用函数可以直接,其他的可以分析函数调用咯

gethtml("TCGA","BRCA")

如果不想学Python,没关系,还有更简单的,直接上R,请看下文。

3、比爬虫更有意思的R包

R包真的是生信大牛的技术体现,我还在膜拜阶段,比如clusterprofiler, created by yuguangchuang,容我膜拜三秒。。。。

R安装问题,请移步:https://blog.csdn.net/panrenlong/article/details/100835323

RTCGAToolbox这个R语言包就是神一般的存在呀。RTCGAToolbox是Bioconductor上的一个软件包,它的作用就是查询、下载和组织TCGA Firehose的数据,还提供一些简单的数据分析和可视化工具。

1) RTCGAToolbox安装,借助BiocManager安装,前提也是你要安装好BiocManager,命令如下:

BiocManger::install("RTCGAToolbox")

没装BiocManager?试试

biocLite("RTCGAToolbox")

2)加载该包

library(RTCGAToolbox)

3)查看所包含的数据集(癌症简称)

getFirehoseDatasets()

结果如下:

4)查看版本号命令

getFirehoseRunningDates()

结果如下:

5)数据下载,dataset是癌症名称(这里以乳腺癌为例),runDate是数据版本,就是刚刚查到的,还可以有其他如RNAseq等选项。

brcaData = getFirehoseData (dataset="READ", runDate="20160128",forceDownload = TRUE,
                            Clinic=TRUE, Mutation=TRUE)

下载过程如下(各地下载速度不一样):

ps:如果出现raw.github无法连接的报错,一般是当地网段延迟,多试几次就好了(偷偷怀疑限速了),比如我们实验室,我整整试了五次才连上开始下载,报错不可怕,关于网上改sudo配置的问题,额。。。实验室服务器怎么可能让你sudo,放弃吧,反正我是试了很多次就成功了,报错截图如下:

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值