做网站想要个计算器功能网站建设 广州网站建设专业公司
news/
2025/10/9 13:09:21/
文章来源:
做网站想要个计算器功能,网站建设 广州网站建设专业公司,黑龙江 哈尔滨,推广平台的文案背景#xff1a;
前几天老师交给我一个任务#xff0c;给我一个基因列表#xff0c;让我查找它们所编码的蛋白质的蛋白质序列。我上了一下uniprot数据库#xff0c;发现这个任务可以分成两步#xff1a;
找到这个基因在Uniprot数据库中所对应的蛋白质编码根据蛋白质编码…背景
前几天老师交给我一个任务给我一个基因列表让我查找它们所编码的蛋白质的蛋白质序列。我上了一下uniprot数据库发现这个任务可以分成两步
找到这个基因在Uniprot数据库中所对应的蛋白质编码根据蛋白质编码批量下载蛋白质序列以前的文章
下面我们以基因“BOP1”为例 然后可以看到 这里我们可以看到有一个个框代表不同的蛋白。我们要找的是人所以应该是Homo sapiens。Gene也是BOP1。对应上了Q14137就是我们要找的uniprot编码。也可以这样说BOP1~Q14137。
知道了一个那好办给我们1001000个呢这时候我们的爬虫就出现了。直接给代码
# 导包
import pandas as pd
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from selenium import webdriver
from selenium.webdriver.edge.options import Options
from openpyxl import Workbook
workbook Workbook()
sheet workbook.active#加载selenium配置
user_data_dir rC:\Users\*****
options Options()
options.add_argument(f--user-data-dir{user_data_dir})
driver webdriver.Edge(optionsoptions)
#读取文件
file_path r*****/step1.xlsx
df pd.read_excel(file_path, headerNone)
# 获取蛋白名称列的数据
protein_names df[0].tolist()
#开爬
for protein in protein_names:# 构建带有查询参数的URLurl fhttps://www.uniprot.org/uniprotkb?query{protein}print(url)driver.get(url)# 使用Selenium等待页面加载完成最多等待30秒wait WebDriverWait(driver, 30)wait.until(EC.presence_of_element_located((By.XPATH, /html/body/div/div/div/div/main/ul/li[2]/section/div[1]/div[1]/h2/a/span)))# 使用XPath查找页面上的内容#xpath_expression /html/body/div/div/div/div/main/ul/li/section/div[1]/div[1]/h2/a/spanxpath_expression /html/body/div/div/div/div/main/ul/li/section/div[1]/div[2]/div# 使用XPath查找页面上的内容ul driver.find_element(By.XPATH, /html/body/div/div/div/div/main/ul)lis ul.find_elements(By.TAG_NAME, li)for li in lis:title li.find_element(By.XPATH, ./section/div[1]/div[2]/div).textresult title.split(·)if protein in result[1] and Homo sapiens (Human) in result[2]:protein_slice li.find_element(By.XPATH, ./section/div[1]/div[1]/h2/a/span).textprotein_slice protein_slice.split(·)result [x.strip() for x in protein_slice]protein_name result[0]sheet.append([protein, result[0]])breakoutput_file output2.xlsx
workbook.save(output_file)# 关闭浏览器
driver.quit()我们来看看输出文件
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/932571.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!