如何通过BioPython自动将PMC全文保存到磁盘?
有没有办法下载并保存Entrez模块返回到本地磁盘的XML文件?我目前正在做的是:如何通过BioPython自动将PMC全文保存到磁盘?,python,bioinformatics,biopython,pubmed,Python,Bioinformatics,Biopython,Pubmed,有没有办法下载并保存Entrez模块返回到本地磁盘的XML文件?我目前正在做的是: fetch = Entrez.efetch(db='pmc', resetmode='xml', id=ids, rettype='full') article = fetch.read() 然后通过Python的write函数将article作为str对象保存为xml文件 BioPy
fetch = Entrez.efetch(db='pmc',
resetmode='xml',
id=ids,
rettype='full')
article = fetch.read()
然后通过Python的write函数将article
作为str
对象保存为xml文件
BioPython是否提供了一种将文件自动下载到磁盘上的方法?我认为BioPython没有提供这样做的方法,但不需要这样做,因为您无需先保存到字符串即可完成此操作:
fetch = Entrez.efetch(db='pmc',
resetmode='xml',
id=ids,
rettype='full')
with open('fileNameToSave.xml', 'w') as f:
f.write(fetch.read())
Chris_Rands在评论中指出,另一种方法是通过URL直接获取文件:
https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=protein&id=15718680
为什么不直接查询efetch?就像我想下载大量PMC论文一样,NCBI有一些关于处理批量API请求的规则,我没有时间实现这些规则。BioPython已经实现了它们,所以我想知道BioPython是否有下载功能。我认为“resetmode”应该是“retmode”。谢谢,这正是我所做的。在以后的分析中,我需要str对象,所以我先将它保存到字符串中。