- 我正试图提取";NM_213035.1";,并且输出是除fasta之外的所有页面
- fasta的检查部分存在于<预标记
代码:
import bs4
import sys
from bs4 import BeautifulSoup
import requests
url = requests.get("https://www.ncbi.nlm.nih.gov/nuccore/{FASTA}?report=fasta".format(FASTA="NM_213035.1"))
url.raise_for_status()
ncbi = bs4.BeautifulSoup(url.text, "html.parser")
filename = ncbi.title.text
with open(filename, 'w+') as f:
for i in ncbi.select('p'):
f.write(i.getText())
输出:
警告:NCBI网站需要JavaScript才能正常工作。更多下载功能。下载基因功能。NCBI参考序列:NM_213035.1
GenBank图形
全序列
选定区域
来自:
至:
显示反向补码
显示间隙特征您的浏览活动为空。活动录制已关闭。恢复上的录制
国家生物技术信息,美国国家医学图书馆
8600 Rockville Pike,贝塞斯达MD,20894美国
您没有使用正确的URL通过REST API获取FASTA文件。正如@Ghoti所指出的,这里描述了正确的URL:https://www.ncbi.nlm.nih.gov/books/NBK25497/
对于您的具体问题,这将是:
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=NM_213035.1&rettype=fasta&retmode=text
如果你使用Python,你可以使用Biosite来完成这项任务,我正在开发一个包:https://www.biotite-python.org/apidoc/biotite.database.entrez.fetch.html