利用python爬取并翻译GEO数据库

GEO数据库是NCBI创建并维护的基因表达数据库 , 始于2000年 , 收录了世界各国研究机构提交的高通量基因表达数据 , 现芯片集数据量高达12万以上 。想要从这里面挖掘(bai piao)数据 , 发个sci提前毕业升职称?那么第一步就是筛选自己所需要的芯片集 。
我采用的方法是利用Python , 爬取相关芯片集 , 翻译并整理成本地文件 。(自带翻译心动吗?)
为什么要用python?因为人生苦短!对于我们这些非编程专业的人 , python是极易上手的语言之一 。其简洁的编程风格 , 深受小白们的喜欢 。个人认为python的学习时间成本很低 , 只需要短短几周甚至几天 , 即可打造属于自己的定制爬虫 。
那么 , 下面我们正式开始python爬取之旅!(python安装请自行百度)
第1步 , 在GEO进行初步检索 。

利用python爬取并翻译GEO数据库

文章插图
我们检索“obesity”这个关键词 , 发现有1432个芯片集 。我比较推荐数量在200到2000之间 , 这样既能保证数据足够 , 又避免审核过多芯片集会造成时间浪费 。如果芯片集过多 , 可限定检索条件 , 如年份、组织、研究类型等 。芯片集过少 , 可放宽检索条件或增加关联的关键词 。
第2步 , 将每页显示调为500条芯片集 , 查看网页源代码并将所有代码保存到txt文件 。
利用python爬取并翻译GEO数据库

文章插图

利用python爬取并翻译GEO数据库

文章插图
如果有多页 , 则需要一页一页点开 , 并将所有代码复制到同一txt文件中 。这样子我们的芯片集数据就收集完毕了 。当然 , python也能实现自动收集 , 不过个人认为编写该部分爬虫比较麻烦 , 还不如手动更便捷 。
第3步 , 确定芯片集内容 。
【利用python爬取并翻译GEO数据库】
利用python爬取并翻译GEO数据库

文章插图
我们点开一个芯片集 , 里面有哪些信息我师们需要的呢?Title、Organism、Summary等等 。查看网页源代码 , 我们发现这些内容都有统一的编写格式 。那么 , 我们就可以编写爬虫 , 逐一提取里面的信息 。好了 , 前期准备完成了!下面我们开始愉悦的python开发 。(python的安装与入门可参考:www.runoob.com)
第4步 , 利用python爬虫获取芯片集 。
利用python爬取并翻译GEO数据库

文章插图
简单来说 , 就是获取txt文件中 , 带有’GSEXXXX’的芯片集序号 。
第5步 , 编写循环体 , 用python爬虫逐一爬取芯片集内容 。
利用python爬取并翻译GEO数据库

文章插图
main函数就是我们爬虫的主体
第6步 , python爬虫 。
利用python爬取并翻译GEO数据库

文章插图
我们根据所需要的芯片集内容 , 用不同的正则表达式爬取 。
第7步 , 最令人期待的——自动翻译 。
利用python爬取并翻译GEO数据库

文章插图
我们可以在百度翻译平台 , 申请开发者账号和通用翻译api , 获得相关id和密匙 , 这样就可以调用翻译功能(附件有api接口代码) 。关键是全程免费!免费!
第8步 , 保存到Excel , 完美收工 。
利用python爬取并翻译GEO数据库

文章插图
看看这庞大数据 , 看看这熟悉的文字 , 是不是感到热泪盈眶?ヽ(??▽?)ノ
个人心得:
①根据本人研究内容 , 我一般将Organism限定为Mus musculus 和Homo sapiens , 减少无用芯片集 。
②芯片集以Samples降序排序 , 优先挑选样本量大的芯片集 , 服用效果更好 。
③目前我编写的爬虫 , 已实现断点爬取、随机IP、循环下载、自动关机等优化功能 。因篇幅限制就不一一叙述 。有兴趣的老铁可自行研究更有趣的功能 。欢迎各种学习交流!
放源代码和动版的信息:
链接: https://pan.baidu.com/s/1RxqD96_2BVogk9jG3vQTnw


推荐阅读