Как получить информацию из Pubmed по дате и сроку, используя Python? - PullRequest
2 голосов
/ 16 марта 2020

Можете ли вы сказать мне, как я могу получить 5 новейших статей из PubMed , которые содержат слово «ожирение» и вернуть авторов, заголовок, дату, doi и PubMed PMID каждой статьи, используя Python? Заранее спасибо

РЕДАКТИРОВАТЬ:

Моя попытка до сих пор. Я считаю, что это желаемый результат, но мне нужно получить правильные опубликованные идентификаторы для запуска функции

from Bio.Entrez import efetch
from Bio import Entrez
Entrez.email = 'name@example.com'

def print_abstract(pmid):
    handle = efetch(db='pubmed', id=pmid, retmode='text', rettype='abstract')
    print(handle.read())

print_abstract(pmid)

1 Ответ

1 голос
/ 16 марта 2020

Вы можете использовать функцию 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 функция работает как положено.

...