Web scraping I';我很难使用BeautifulSoup从NCBI网站上获取数据

Web scraping I';我很难使用BeautifulSoup从NCBI网站上获取数据,web-scraping,beautifulsoup,bioinformatics,ncbi,Web Scraping,Beautifulsoup,Bioinformatics,Ncbi,我一辈子都想不出如何使用beautiful soup从以下网页中获取隔离源信息: 我一直试着检查标签是否存在,当我知道它确实存在时,它总是返回它不存在。如果我甚至不能证实它的存在,我也不知道该怎么刮 谢谢 数据是从外部URL加载的。要获取隔离\u源,可以使用以下示例: 重新导入 导入请求 从bs4导入BeautifulSoup url=”https://www.ncbi.nlm.nih.gov/nuccore/JOKX00000000.2/" soup=BeautifulSoup(reques

我一辈子都想不出如何使用beautiful soup从以下网页中获取隔离源信息:

我一直试着检查标签是否存在,当我知道它确实存在时,它总是返回它不存在。如果我甚至不能证实它的存在,我也不知道该怎么刮


谢谢

数据是从外部URL加载的。要获取
隔离\u源
,可以使用以下示例:

重新导入
导入请求
从bs4导入BeautifulSoup
url=”https://www.ncbi.nlm.nih.gov/nuccore/JOKX00000000.2/"
soup=BeautifulSoup(requests.get(url.content,“html.parser”)
ncbi_uidlist=汤。选择一个('[name=“ncbi_uidlist”]')[“内容”]
api_url=”https://www.ncbi.nlm.nih.gov/sviewer/viewer.fcgi"
参数={
“id”:ncbi指南列表,
“db”:“nuccore”,
“报告”:“genbank”,
“额外专长”:“无效”,
“conwithfeat”:“开”,
“隐藏cdd”:“打开”,
“retmode”:“html”,
“withmarkup”:“on”,
“工具”:“门户”,
“日志$”:“seqview”,
“maxdownloadsize”:“1000000”,
}
汤=美汤(
获取(api_url,params=params).content,“html.parser”
)
功能=汤。选择一个(“功能”)。文本
隔离源=重新搜索(r'isolation\u source=“([^”]+)”,功能)。组(1)
打印(功能)
打印(“-”*80)
打印(隔离源)
印刷品:

源代码1..12
/有机物=“reuteri乳酸杆菌”
/mol_type=“基因组DNA”
/应变=“TMW1.112”
/隔离\u source=“II型酸面团”
/db_xref=“分类单元:1598”
/国家=“德国”
/收款日期=“1998”
--------------------------------------------------------------------------------
II型酸面团

当存在web服务时,您不应该刮去ncbi

wget -q -O - "https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=nuccore&id=JOKX00000000.2&rettype=gb&retmode=xml" | xmllint --xpath '//GBQualifier[GBQualifier_name="isolation_source"]/GBQualifier_value/text()' - && echo

Type II sourdough

天哪,终于成功了!非常感谢!!