2017-04-11 16 views
1

Entrez 모듈이 로컬 디스크로 반환하는 XML 파일을 다운로드하고 저장하는 방법이 있습니까? 내가 현재하고있는 중이 야 것은 :BioPython을 통해 PMC 전체 텍스트를 디스크에 자동 저장하는 방법은 무엇입니까?

다음 파이썬의 쓰기 기능을 통해 XML 파일로 str 개체입니다 article을 저장
fetch = Entrez.efetch(db='pmc', 
        resetmode='xml', 
        id=ids, 
        rettype='full') 
article = fetch.read() 

.

BioPython은 자동으로 파일을 디스크에 다운로드하는 방법을 제공합니까?

+0

왜 efetch를 직접 쿼리하지 않습니까? https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=protein&id=15718680157427902119703751 –

+0

많은 양의 PMC 논문을 다운로드하고 NCBI는 취급에 관한 몇 가지 규칙을 가지고 있습니다. 구현할 시간이없는 대량 API 요청 BioPython에 이미 구현되어 있으므로 BioPython에 다운로드 기능이 있는지 알고 싶습니다. – HMK

+0

어쨌든 고마워요 – HMK

답변

1

나는 바이오 파이썬이 작업을 수행 할 수있는 방법을 제공합니다 생각하지 않지만, 먼저 문자열로 저장하지 않고이 작업을 수행 할 수있는 필요하지 않습니다 Chris_Rands 점으로,

fetch = Entrez.efetch(db='pmc', 
       resetmode='xml', 
       id=ids, 
       rettype='full') 

with open('fileNameToSave.xml', 'w') as f: 
    f.write(fetch.read()) 

다른 방법 그의 코멘트에서 URL을 통해 직접 파일을 가져 오는 것입니다 :

https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=protein&id=15718680 
+0

고마워,이게 정확히 내가 한거야. 나중에 분석 할 때 str 객체가 필요하므로 먼저 문자열에 저장했습니다. – HMK