Вы можете использовать функцию esearch
из Bio.Entrez
, чтобы найти UID самых последних записей PubMed, соответствующих запросу:
handle = Entrez.esearch(db="pubmed", term="obesity", retmax=5)
results = Entrez.read(handle)
print(results["IdList"])
Указав term
, Вы можете предоставить строку запроса - из вашего вопроса вы ищете записи, связанные с "ожирением". retmax
позволяет нам настроить количество возвращаемых UID (по умолчанию 20).
Когда я запускаю это сейчас, я получаю следующие UID:
['32171135', '32171042', '32170999', '32170940', '32170929']
Во время записывая, они соответствуют самым последним UID записей, когда вы выполняете поиск PubMed вручную. Сначала они сортируются по самой последней записи.
Используя эти идентификаторы, ваша print_abstract
функция работает как положено.