Я пытаюсь собрать список опубликованных статей, используя biopython entrez. Я хочу собрать определенные части статьи в формате medline. Код, который я написал ниже, работает, если не установлен retmax. По умолчанию это 20 статей, однако я хочу собрать гораздо большее количество статей. Если я установлю retmax на большее число, я получу ошибку ниже.
#!/usr/bin/env python
from Bio import Entrez, Medline
Entrez.email = "foobar@gmail.edu"
handle = Entrez.esearch(db="pubmed",
term="stanford[Affiliation]", retmax=1000)
record = Entrez.read(handle)
pmid_list = record["IdList"]
more_data = Entrez.efetch(db="pubmed", id=",".join(pmid_list), rettype="medline", retmode="text")
all_records = Medline.parse(more_data)
record_list = []
for record in all_records:
record_dict = {'ID': record['PMID'],
'Title': record['TI'],
'Publication Date': record['DP'],
'Author': record['AU'],
'Institute': record['AD']}
record_list.append(record_dict)
Я тогда получаю ошибку
Traceback (most recent call last):
File "./pubmed_pull.py", line 42, in <module>
'Institute': record['AD']}
KeyError: 'AD'
Я не уверен, почему я получаю ошибку, если я увеличиваю количество статей.