首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用selenium从NCBI下载DNA序列?

如何使用selenium从NCBI下载DNA序列?
EN

Stack Overflow用户
提问于 2022-09-03 05:15:47
回答 1查看 40关注 0票数 0

我已经开始用Python学习selenium,基本上,我是一名生物信息学的学生。我想从链接下载一个"fasta“格式的DNA序列数据:

044604.1?report=fasta

我知道通过Biopython下载.fasta序列是可能的。我想试试硒。下面是我写的代码。

代码语言:javascript
复制
from selenium import webdriver

from selenium.webdriver.common.keys import Keys

from selenium.webdriver.common.by import By

import time

url=input("Enter the URL: ")

driver=webdriver.Chrome(executable_path=r"D:\python\webdriver_chrome\chromedriver.exe")

driver.get(url)

elements=driver.find_element(By.XPATH, "//div[./div[starts-with(@id,'viewer')]]//pre")

file=open(r"C:\Users\USER\OneDrive\Desktop\seleniumtext1.text", "a+")

file.write(str(elements.text))

file.close() 

您可以查看我想要刮掉的html结构,在这里

但我无法下载整个序列。我已经将通过"Biopython“下载的实际序列和通过"selenium”下载的序列附加在:https://mega.nz/folder/tV0BESjY#iQIbdeKPOxS78bvhtcC1BQ

在"XPATH“中是否需要进行任何更正?请教我这方面的知识。

EN

回答 1

Stack Overflow用户

发布于 2022-09-03 06:09:15

该页面需要一段时间才能呈现,因此您需要包含一个等待方法。在我的测试中,30秒甚至没有足够的时间来完全呈现整个序列。

此外,xpath表达式不正确。

我测试了这个例子,它对我起了作用。

代码语言:javascript
复制
import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.common.by import By

url=input("Enter the URL: ")
driver=webdriver.Chrome(executable_path=r"D:\python\webdriver_chrome\chromedriver.exe")
driver.get(url)
time.sleep(3)
elements=driver.find_elements(By.XPATH, "//div[@id='viewercontent1']//pre")
with open(r"C:\Users\USER\OneDrive\Desktop\seleniumtext1.txt", "a+") as ofile:
    for element in elements:
        ofile.write(element.text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73589816

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档