У меня есть названия, имена авторов и годы публикации около 100 научных c статей. Моя цель - получить DOI для каждой статьи. Моя идея состояла в том, чтобы использовать пакет crossref api и crossrefapi . К сожалению, я не могу заставить это работать.
Вот пример, где я хотел бы получить DOI для статьи под названием 'Корковые и подкорковые аномалии серого вещества при шизофрении, определяемые с помощью структурной магнитной c резонансной томографии с оптимизированным объемом c воксель морфометрия ". Автора зовут Анант, и статья была опубликована в 2002 году:
import numpy as np
import pandas as pd
from crossref.restful import Works
works = Works()
author = 'Ananth'
paper_title = 'Cortical and subcortical gray matter abnormalities in schizophrenia determined through structural magnetic resonance imaging with optimized volumetric voxel-based morphometry.'
w = works.query(author=author).query(container_title=paper_title).filter(from_online_pub_date='2002',until_online_pub_date='2002')
w_size = w.count()
paper_list = np.empty(shape=(w_size,1),dtype=object)
for idx,item in enumerate(w):
if 'title' in item:
paper_list[idx] = item['title']
else:
paper_list[idx] = 'NaN'
for title in paper_list:
print(title)
Это дает мне следующий вывод:
['Pregnancy outcomes in women treated with elective versus ultrasound-indicated cervical cerclage']
['Revisiting sonographic abdominal circumference measurements: a comparison of outer centiles with established nomograms']
['Cervical length and spontaneous prematurity: laying the foundation for future interventional randomized trials for the short cervix']
['A comparison of sonographic cervical parameters in predicting spontaneous preterm birth in high-risk singleton gestations']
['Algebraic Techniques for Analysis of Large Discrete-Valued Datasets']
У всех этих работ есть один автор по имени Анант , но названия не имеют никакого отношения, и некоторые из этих документов также не относятся к 2002 году.
Кто-нибудь знает, как это исправить?
Если я просто использую GUI из перекрестной ссылки и введу заголовок, первая запись в выходных данных будет правильной бумагой. Я думал, что crossref API будет работать аналогично.
Я прочитал это сообщение , но мне бы хотелось иметь автоматизированную версию с использованием API, чтобы вам не приходилось каждый раз загружать файл .csv или. xml. , Я также прочитал это обсуждение на GitHub , но я не уверен, связано ли это с моей проблемой.