CellMarker 基因搜索结果批量下载

CellMarker是单细胞测序细胞群注释时常用的数据库

CellMarker2.0 (hrbmu.edu.cn)

它提供了cell marker的搜索

 

本文提供一个批量下载该搜索结果(excel)的方法。

1.将自己准备搜索的基因列在txt

 2.运行代码

需要事先配置好浏览器环境,文中用的是edge浏览器)

(如有需要可留言,会进行补充)

from selenium import webdriver
from time import sleep
from selenium.webdriver.common.by import By
import os

#------读取txt
txt = []
f = open("C:/Users/docto/Desktop/epv.txt", "r", encoding="utf-8")
for line in f.readlines():
    line = line[:-1]  #去掉换行符
    txt.append(line)
print(txt)

txt1 = txt[:-1]   #去掉最后边的换行符
print(txt1)
print("txt1列表的长度(含有基因数):"+str(len(txt1))) #len(txt1)计算txt1列表的长度

i = 0
failure = []
while i < len(txt1):
    print("下载:" + txt1[i])
    download_url = 'http://bio-bigdata.hrbmu.edu.cn/CellMarker/CellMarkerSearch.jsp?quickSearchInfo='+ txt1[i] + '&index_key=2#framekuang'
    print(download_url)

    driver = webdriver.Edge()
    url = download_url
    driver.get(url)
    sleep(15)

    framepath = 'four_table'
    driver.switch_to.frame(framepath)
    try:
        button_xpath = '//*[@id="datatable1_wrapper"]/div[1]/a[2]'
        driver.find_element(by=By.XPATH, value=button_xpath).click()
        sleep(5)
        driver.quit()
    except:
        print("失败" + txt1[i])
        failure_gene = txt1[i]
        failure.append(failure_gene)
        driver.quit()
    i = i + 1
    print("剩余:" + str(len(txt1)-i))
print("失败目录:")
print(failure)
print("完成")

for text in failure:
    with open("failure.txt", mode="a", encoding="utf-8")as f:
        f.write(text)
        f.write("\n")
f.close()

3.等待下载完成即可

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值