利用python的selenium模块向Plant-mPLoc提交数据

本文介绍了如何使用Python的selenium模块自动向Plant-mPLoc提交序列数据,包括数据预处理、环境配置、代码实现及流程思路。通过预处理将序列号与序列对应,使用selenium模拟浏览器操作,实现数据提交、结果抓取和保存。
摘要由CSDN通过智能技术生成

流程一般步骤

  首先我们对得到的序列预处理,然后进行信息的提取,包括利用正则表达式对序列号的获取,以便序列号和数据结果的匹配和每次向网页提交一条完整的序列,最后是结果的保存。

1.对数据的预处理

  因为笔者使用的是ExPASy对核苷酸序列开发阅读框进行预测(偶然发现这个也可以=。=),得到的最有可能的开放阅读框的格式为(以得到的第一个为例)

> VIRT-87894:5’3’ Frame 2, start_pos=0
GLGPSMATMLSRANAVMNSEVHKTVLITGVSKGLGRALALEMAKRGHTII
GCSRTQDMLYSLQAELSSASSSHPGSNSSPDKHLFMSVDVKSNSSVEELA
HVVMEKKGVPDIIVNNAGTINKNNRIWEVPVEEFDGVIDTNVKGIANMLR
HFIPLMIEGKQGIIVNMSSGWGRSAAAQVAPYCASKWAIEGLTRSVAKEL
PSGIAIVALNPGVINTDMLASCFGNSASLYQAPEAWAPTAATMILNLTMA DNGASLTV

在每条FASTA格式的序列第一行后面加上他的序列号,中间以一个空格隔开。(如Unigene5868)
完整的一条目标序列格式
  所以当时你获取数据的时候就该把序列号和序列一一对应,还好笔者当时就是这样做的,所以在后面构建目标文件的时候没费多大时间。这样你就构建一个目标文件,每条序列之间隔一行,隔几行也行,但是要保证隔开的行数都是一样的,等下正则匹配要用。这样我们这个流程就结束了,这样处理也方便我们后继的其他操作,如蛋白质理化性质的分析等,不用再重新整理。

2. 环境的配置

  (python3.7 pycharm )的配置就不再这里详细阐述了,可以去看看别人的教程,selenium库的获取,在你配置好的环境情况下,windows窗口下输入 cmd,打开控制行界面,输入下面命令就行了。

pip install selenium

  当然只有这个模块肯定是不行的,你还得需要相应的浏览器驱动,不同的浏览器驱动是不一样滴,具体步骤百度完全能行,这里可以参考一篇博客 1特别注意的是把驱动放入相应浏览器安装目录下,我选择的是火狐浏览器(‘C:\Program Files\Mozilla Firefox’)安装路径,然后将这个路径添加到环境变量中(path)。这就是主要的环境配置了,接下来就是一些详细的步骤了。

3.代码分析及流程思想

  Selenium大量的运用于python自动化测试及爬虫中,在这里我们就不深究其底层原理,具体说明一下它的使用。它能够定位当前浏览页面的元素,从而对其进行一些如添加数据、点击、清除该元素内已添加的内容等,也就说能模仿人类对该网页进行的操作。常见一些操作及定位元素的方法2
  向网站提交数据具体包括三步:1.向输入框提交数据;2.点击提交按钮;3.等待网站服务器返回结果,并对结果进行保存。我们先尝试一下拿单独的一条序列进行测试,然后再推广到所有的序列中。

from selenium import webdriver

data = """> VIRT-87894:5'3' Frame 2, start_pos=0 Unigene5868
GLGPSMATMLSRANAVMNSEVHKTVLITGVSKGLGRALALEMAKRGHTII
GCSRTQDMLYSLQAELSSASSSHPGSNSSPDKHLFMSVDVKSNSSVEELA
HVVMEKKGVPDIIVNNAGTINKNNRIWEVPVEEFDGVIDTNVKGIANMLR
HFIPLMIEGKQGIIVNMSSGWGRSAAAQVAPYCASKWAIEGLTRSVAKEL
PSGIAIVALNPGVINTDMLASCFGNSASLYQAPEAWAPTAATMILNLTMA
DNGASLTV"""

browser = webdriver.Firefox()  # 打开火狐浏览器 如果你环境没配置好 会报错
browser.get('http://www.csbio.sjtu.edu.cn/bioinf/plant-multi/')
# 在get()里面输入你要进入的网址 它会自动进入

# 进入目标网址后 把鼠标移入序列输入框 右键检查元素 浏览器下面会弹出一个
# 查看器 该元素会以高亮的颜色显示 我们发现该元素的 name属性值为"S1"
# 我们在查看器里 Ctrl + F 查找 "S1" 我们发现name="S1" 只有一个
# 这样就可以对输入框进行定位 同理的提交按钮的name属性值为 "B1"

input_box = browser.find_element_by_name("S1") # 通过name属性的值来定位输入框元素
input_box.send_keys(data)  
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值