Конечно, есть хотя бы один инструмент, предназначенный для общения с этим реестром, и это сам инструмент командной строки npm
. Например, его search начинается с обновления локальной кешированной копии индекса, отфильтровывая это. В update-index можно прочитать, что URL-адрес, заканчивающийся на /-/all
, по-видимому, особенный. И действительно, добавив, что к registry.npmjs.org
(намеренно не отформатирован как ссылка), вы получите 125M-файл, который может быть слишком большим для вашего браузера. К счастью, кэшированная версия сохраняется в ~/.npm/registry.npmjs.org/-/all/.cache.json
. Оттуда можно прочитать список всех доступных пакетов. Затем можно продолжить более подробно запрашивать каждый такой пакет.
Тот факт, что npm search
, по-видимому, не использует более сложную схему, предполагает, что здесь не так много ави здесь на стороне сервера.
Поиск в Интернете для ссылок на страницы api.npmjs.org
Я обнаружил, что download counts можно получить оттуда. Все другие документы, которые я нашел, используют этот единственный объект.
Ищем альтернативы, я также наткнулся на npmsearch.com, который предлагает еще несколько универсальных средств поиска и имеет a somewhat documented API.
https://registry.npmjs.org/-/all просто возвращает '{ "сообщение": "устаревшее"}' в настоящее время. Я предлагаю не принимать этот ответ. –