2020年第10期
信息与电脑
China Computer & Communication
数据库技术
基于Python 的基因表达数据网络爬虫研究与设计
秦成鑫 黄锎靓 康 华 黄依婷 海龙菊
(四川农业大学 信息工程学院,四川 雅安 625014)
摘 要:笔者研究并实现了基于Python 的GEO 数据库网络爬虫,该爬虫可以高效访问GEO 数据库并下载医学工作者所需的资料。爬虫在开始下载后会先将关键字信息及下载链接保存到MySQL 数据库中,全部获取完毕后开始对GEO 数据库中数据压缩包进行不间断下载。该爬虫在实现数据高效下载的同时节省了生物以及医学工作者的时间,提高了工作效率,为生物以及医学工作者开展相关工作提供了极大的便利。
关键词:Python;GEO 数据库;网络爬虫;MySQL 数据库
中图分类号:Q811.4  文献标识码:A  文章编号:1003-9767(2020)10-143-03
Research and Design of Web Crawler for Gene-expression Based
on Python Data
Qin Chengxin, Huang Kailiang, Kang Hua, Huang Yiting, Hai Longju
(School of Information Engineering, Sichuan Agricultural University, Ya ’an Sichuan 625014, China)
Abstract: The author studies and implements a Python based geo database crawler, which can efficiently access the geo database
and download the data needed by medical workers. After downloading, the crawler will first save the keyword information and download link to the MySQL database, and then start to download the data compression package in the geo database uninterruptedly. It can save the time of biology and medical workers, improve the work efficiency, and provide great convenience for biology and medical
workers to carry out related work.
Key words: Python; GEO database; web crawler; The MySQL database
作者简介:秦成鑫(1997—),男,河南安阳人,本科在读。研究方向:大数据分析。
通信作者:黄锎靓(1982—),男,四川雅安人,博士研究生,讲师。研究方向:思政管理、人文社科大数据。E-mail:**************。
0 引言
GEO 数据库收集了世界各国提交的基因表达数据,是生物和医学研究的重要工具。随着GEO 数据量的逐年递增,对医学以及生物研究者而言,筛选下载自己所需的数据耗时越来越长,且容易丢失遗漏。目前流行的Python 可以用来解决该问题,利用网络爬虫爬虫可以将需要的数据快速下载到本地的数据库,可以提高对GEO 数据的筛选效率以及统计分析软件的反应速度;同时在爬虫程序中进行设定使爬取工作能够持续进行,使抓取过程也更加有条理,从而很好地实现GEO 数据库中压缩文件的不间断下载。
1 开发环境介绍
1.1 Python 的优点
Python 作为一种脚本语言,具有优秀的可维护性和可
读性,这是它与其他传统脚本语言相比拥有的显著优势。Python 的语法极其简单,它的关键字也比较少,
同时简化了循环语句,可读性更强。Python 作为一种通用型编程语言,编程结构力求简单明了,强调代码的可读性,也可以极大减少代码量以及程序操作难度[1]。因此使用Python 开发具有使工作目标明确、代码简洁、可读性高等优点[2]。同时,在Python 中包含许多现成的支持库,开发者可直接进行调用,
大大减少了代码量,也让程序更加“轻便”,操作更加简洁。1.2 MySQL 数据库
MySQL [3]数据库作为一款开源的关系型数据库系统,具备体积小、效率高、简单易用等特点。MySQL 数据库作为关系数据库,具有访问速度快、操作灵活的特性,可以提高数据分析效率[4]。同时,MySQL 是开放源代码的,因而任何人都可以下载并根据个性化的需要对它进行修改。
2020年第10期
信息与电脑
China Computer & Communication
数据库技术
MySQL 也正是因为其速度、可靠性以及它的适应性而备受关注。Python DB-API 提供了统一的数据库访问接口,可以让Python 轻松实现对MySQL 数据库操作。
2 爬虫功能研究
对GEO 数据库的数据搜索页面(bi.v/gds/?term=xxx )进行分析,实现数据的定位以及筛选,从而利用爬虫实现数据的获取以及保存到MySQL 中,实现GEO 数据库中全部相关疾病基因表达信息的自动获取和分析,高效地从海量的基因芯片数据中筛选出需要的数据,省去烦琐的人工
筛选过程。通过利用爬虫软件,实现了对GEO 数据库访问的简化操作,只靠人工下载相关的数据,会导致工作量极大,获得信息也十分有限[5]。而网络爬虫作为一个能够自动提取网页的程序,它可以高效地从数据库的海量信息中筛选出有效的信息以及大量数据背后的相关知识,也使得后续处理和分析这些数据成为可能。爬虫软件会不断地抓取网页数据到本地数据库,经过一系列的分析、过滤,将这些数据下载并保存到本地数据库,对以后使用者的查和检索有极大的帮助,同时也提高了下载数据的效率以及数据处理的简洁化,避免了烦琐、重复的低效率操作。
3 爬虫功能实现
在进行软件开发时,主要从以下部分进行思考。爬虫运行流程如图1所示。爬虫的设计实现,主要包括网页分析,对GEO 数据页面进行页面分析,获取定点url 位置,便于后续爬虫开发,实现数据的定位以及准确抓取;主要通过抓取关键词(Organism 、Type 、Platforms 、Series 、DataSet 、downurl
)实现数据定位及抓取。
图1 爬虫运行流程图
对接MySQL 数据库,可以实时将抓取到的数据保存到数据库中,方便后续的调用。通过关键词与数据库代码对应关系将数据存入对应的数据表中,示例代码如下:
sql = “insert into main(id,title,organism,type,targetN
um,serchkey,sourcena
me) values(%s, %s, %s,
%s, %s, %s, %s)”
value = (id, title, Organism, Type,targetNum, serchkey,
SourceName)
4 数据存储
完成初步数据下载后软件会自动开始下载数据包。数据初步下载主要是将网页上的数据抓取到MySQL 指定的数据表中,实现数据的及时保存,另外为了进行不间断数据下载,保存的数据中会包含下载基因
数据包的链接,此时爬虫可以从数据库中自动提取下载地址链接,数据会直接下载到指定文件夹中进行保存。数据下载结果如图2
所示。
图2 下载结果示意图
下载模块部分代码展示: #下载文件 dictname = basepath+’/download/’
ftp = FtpConnect(“bi.v ”,’’,’’) for url in downUrl:
pass
url = url[26:len(url)]  names = url.split(‘/’)  name = names[len(names)-1]  remoteLocate = url
fileSize = ftp.size(remoteLocate)/1024  print('文件名:' + name)
print('文件大小为:'+ str(fileSize) + 'Kb')  print("准备下载")
FtpDownload(ftp,remoteLocate,dictname +
name)
print('所有文件下载完成') ftp.close()
5 结 语
本文设计的这一款爬虫程序可以对GEO 数据库(bi.v/gds/?term=XXX )页面的指定数据进行深入挖掘、爬取下载,为后续的生物及医学工作者的研究分
2020年第10期
python网络爬虫书籍推荐
信息与电脑
China Computer & Communication数据库技术
析提供了数据支撑,方便其后续进行调用、处理、研究。同时,程序针对指定网页进行了个性化开发,实现了数据包的不间断下载。采用MySQL数据库作为数据下载的中转,先行保存数据信息,方便直接进行统计分析,同时并不影响数据包的后续下载。经过测试,程序已满足生物以及医学工作者对于数据下载挖掘的需求,但对于后续分析研究依旧有很多需要改进的地方,比如对数据进行比对分析、获取差异表达基因等。
参考文献
[1]王朝阳.基于Python的图书信息系统的设计与实现[D].长春:吉林大学,2016.
[2]管华.对当今Python快速发展的研究与展望[J].信息系统工程,2015(12):114-116.
[3]Bjelić M P P J.Database modeling tools review – MySQL Workbench, Open ModelSphere, Dia[J].Zbornik Veleučilišta u Rijeci,2018(10):178.
[4]范开勇,陈宇收.MySQL数据库性能优化研究[J].中国新通信,2019,21(1):57.
[5]张阁.基于GEO数据库的差异表达基因分析系统的构建[D].晋中:山西医科大学,2018.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。