Поиск цитирования с помощью AJAX (используется OAI-PMH?)
Я ищу способ сделать простой поиск ссылки на научную статью с AJAX. Google Scholar не имеет API (и, судя по их Условиям использования, его не будет), CiteSeerX поддерживает API OAI-PMH. Кто-нибудь знает о реализации JavaScript / jQuery, которая позволяет мне делать асинхронные запросы и получать список лучших элементов? Например, поиск knuth
должен дать что-то в соответствии с
{
{
author: 'Knuth, DE',
title: 'The art of computer programming. Vol. 3: sorting and searching',
year: '1973',
publisher: 'Addison Wesley'
},
{
author: 'Graham, RL and Knuth, DE and Patashnik, O',
title: 'Concrete mathematics: a foundation for computer science',
year='1994',
publisher='Addison-Wesley Reading, MA'
},
// ...
}
или кто-нибудь, кто освоил API OAI и знает, как превратить это в эффективный запрос?
2 ответа
[ОБНОВЛЕНИЕ] Я отправил пример поиска JSONP прокси-сервера Mendeley на GitHub ... см. https://github.com/nisc/node-mendeley-search-jsonp-proxy[/ UPDATE]
У меня нет времени, чтобы проверить, что такое API-интерфейс OAI-PMH и почему его нельзя запросить с помощью простого $.getJSON(), но вы также можете взглянуть на API Mendeley (может быть, они даже внедрить OAI-PMH, кто знает).
В частности, поиск документов может быть интересным.
Просто зарегистрируйте заявку (1 клик). Затем попробуйте что-то вроде:
# I think curl does the percent-encoding automatically. You might
# want to replace "authors:knuth" with "authors%3Aknuth", though.
curl "http://api.mendeley.com/oapi/documents/search/authors:knuth/?consumer_key=$YOUR_KEY"
Я не уверен, следует ли вам предоставлять свой потребительский ключ клиентским приложениям (лучше посмотрите их документы). Однако вы всегда можете создать очень простой прокси-сервер API (ОБНОВЛЕНИЕ: Учитывая ту же политику происхождения, вам, вероятно, придется это делать, поскольку они, похоже, не поддерживают JSONP или CORS).
Я не знаю об их пределах использования. ОБНОВЛЕНИЕ: 5000 запросов на IP в час.
В OAI-PMH существует минимальная реализация, которая не содержит никаких других видов запросов, кроме требуемого периода времени.
Таким образом, это зависит от репозитория OAI-PMH, который вы хотите использовать, возможно, он реализован больше, чем эта минимальная реализация.