2014-12-28 3 views
0

Sickle을 사용하여 각 세트의 모든 레코드에 액세스하려면 어떻게합니까?Sickle 패키지를 사용하여 세트의 모든 레코드 받기

나는이 같은 세트에 액세스 할 수 있지만 여기에서 이동하는 방법을 알고 모든 세트에서 각 레코드를 다운로드하지 마십시오

<set xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><setSpec>com_10852_1</setSpec><setName>Det matematisk-naturvitenskapelige fakultet</setName></set> 
: 모든 같이 설정

from sickle import Sickle 

sickle = Sickle('http://www.duo.uio.no/oai/request') 
    sets = sickle.ListSets() 
    for s in sets: 
     print s 

인쇄 인쇄를

나는 또한 깊은 가고 세트를 반복 할 수 있습니다 : 그것은 있도록

for s in sets: 
    for rec in sets: 
     print rec 

이 모든 하위 세트를 인쇄 ' 아마도 여기에서 개별 레코드에 액세스 할 수 있지만 API는 이해하기 어렵고 레코드에 액세스 할 수 없습니다.

답변

0

짧고 달콤한 Tutorial을 꼭 읽으십시오.

전체 OAI-PMH 저장소를 수집하려면 집합을 반복 할 필요가 없습니다. 다음은 전체 코드입니다.

from sickle import Sickle 

sickle = Sickle('http://www.duo.uio.no/oai/request') 
recs = sickle.ListRecords(metadataPrefix="oai_dc") 
for r in recs: 
    print r 

어떤 이유로 세트로 설정된 레코드를 수집하려면 실제로 그렇게 할 수 있습니다. 다음은 완전한 코드입니다.

from sickle import Sickle 

sickle = Sickle('http://www.duo.uio.no/oai/request') 
sets = sickle.ListSets() 
for s in sets: 
    recs = sickle.ListRecords(metadataPrefix="oai_dc", set=s.setSpec) 
    for r in recs: 
     print r