Рубрики
Без рубрики

Новая библиотека с открытым исходным кодом для доступа к Arxiv.org API

Йоу! Недавно я столкнулся с задачей отправки различных поисковых запросов на arxiv.org API на Java/Kotlin… С тегами kotlin, java, show dev.

Йоу! Недавно я столкнулся с задачей отправки различных поисковых запросов на arxiv.org API на Java/Kotlin, и в результате этого я и мои товарищи решили реализовать его как библиотеку ArxivApiAccess с открытым исходным кодом.

Простой трек, чтобы использовать его

Например, если вы хотите найти последние 20 статей о Java или Kotlin, это можно сделать следующим кодом:

val request: SearchRequest = SearchRequest.SearchRequestBuilder
            .create("Java", SearchField.ALL)
            .or("Kotlin", SearchField.ALL)
            .sortBy(SortBy.LAST_UPTATED_DATE)
            .sortOrder(SortOrder.DESCENDING)
            .maxResults(20)
            .build()

val response: Feed = SearchRequestExecutor().executeAndMap(request)

println(response)

Кроме того, вы можете загрузить все статьи по вашему запросу и сохранить их в файл или реализовать функцию обратного вызова, как вы хотите:

val subjectCategory = "astro-ph"
val fileToSave = "../arxiv_data_sets/${subjectCategory}.csv"

val request = SearchRequest.SearchRequestBuilder
        .create(subjectCategory, SearchField.SUBJECT_CATEGORY)
        .build()

loadAllByRequest(request, { feed ->
    // Donwload to file 
    val writer = FileWriter(fileToSave, true)
    writer.use {
        feed.entry?.forEach {
            val authorString = it.author.joinToString(", ") { author -> author.name }
            val resultString = "${it.updated}|${subjectCategory}|${it.title}|${authorString}".replace("\n", "")
            writer.write("${resultString}\n")
        }
        writer.close()
    }

    println("parsed ${feed.startIndex+feed.itemsPerPage}/${feed.totalResults}")
})
// return false to stop a process of the parsing
true

Или вы можете найти все статьи о Java или Kotlin за последние 30 дней:

val request: SearchRequest = SearchRequest.SearchRequestBuilder
        .create("Java", SearchField.ALL)
        .or("Kotlin", SearchField.ALL)
        .build()

var list = searchAllAfterDate(request, Date(System.currentTimeMillis() - TimeUnit.MILLISECONDS.convert(30, TimeUnit.DAYS)))

println(list)

Начало работы с Maven


    myMavenRepoRead
    https://mymavenrepo.com/repo/m3NxrnIEacYdXdF77zDL/


...


  olegthelilfix
  ArxivApiAccess
  ${ArxivApiAccess.version}

Текущая версия – 0.2-RELEASE. Более подробную информацию о проекте вы можете найти в репозитории проекта.

Инструменты для препринтов исследований/Доступ к Api Arxiv

это библиотека Kotlin для выполнения поисковых запросов к API Arvix.org

Будущее проекта

Текущая версия проекта не является окончательной, и я планирую продолжить проект. Первый заключается в стабилизации текущей функциональности. Второй заключается в расширении возможностей библиотеки взаимодействовать с arxiv.org API и так далее. Не стесняйтесь писать мне обо всем.

Оригинал: “https://dev.to/olegthelilfix/the-new-open-source-library-to-access-to-arxiv-org-api-53cj”