Я хочу получить все статьи в определенном журнале, которые связаны с определенным термином / темой.
Я пытаюсь сделать это через PubMed, используя пакет Entrez, содержащийся в Biopython. Соответствующий расширенный поиск PubMed: (тема / термин) И «Название журнала» [Journal]
То, что я пробовал до сих пор, основано на коденаписанный Марко Бонзанини (страница GitHub, содержащая оригинальный код https://gist.github.com/bonzanini/5a4c39e4c02502a8451d).
from Bio import Entrez
def search(query):
Entrez.email = 'example@mail.com'
handle = Entrez.esearch(db='pubmed',
sort='relevance',
retmax='20',
retmode='xml',
term=query,
mindate= "2018/11",
maxdate= "2019/02")
results = Entrez.read(handle)
return results
def fetch_details(id_list):
ids = ','.join(id_list)
Entrez.email = 'example@mail.com'
handle = Entrez.efetch(db='pubmed',
retmode='xml',
id=ids)
results = Entrez.read(handle)
return results
if __name__ == '__main__':
results = search('attention')
id_list = results['IdList']
papers = fetch_details(id_list)
for i, paper in enumerate(papers['PubmedArticle']):
print("%d) %s" % (i + 1, paper['MedlineCitation']['Article']['ArticleTitle']))