Me parece que estoy a menudo insatisfecho con el orden y la expresividad de las búsquedas en https://www.npmjs.com/. Supongo que no debe ser una forma de programación de la consulta al servidor mediante https://api.npmjs.org/ o http://registry.npmjs.org/. Pero, ¿cómo? Dónde está la documentación?

(O hay nodo de paquetes para facilitar que? Yo sé LO que no es acerca de la herramienta o el paquete de recomendaciones, así que tal vez yo no debería estar preguntando acerca de esto, pero si hay alguna herramienta, yo probablemente podría leer la API de que así.)

InformationsquelleAutor MvG | 2015-12-03

9 Comentarios

  1. 21

    Por supuesto, hay al menos una herramienta diseñada para hablar con ese registro, y que es el npm herramienta de línea de comando en sí. Su búsqueda por ejemplo se inicia mediante la actualización de una copia en la caché local del índice de filtrado. En actualización-índice uno puede leer que la URL que termina en /-/all aparentemente es especial. Y, de hecho, añadiendo que a registry.npmjs.org (deliberadamente no tiene el formato como un enlace) obtendrá una 125M archivo que podría ser demasiado para tu navegador. Por suerte, la versión en caché se almacena disponible en ~/.npm/registry.npmjs.org/-/all/.cache.json. Desde allí se puede leer una lista de todos los onocido paquetes. Uno podría entonces seguir para la consulta de cada paquete en más detalle.

    El hecho de que npm search al parecer no se utiliza ningún sistema mucho más elaborado sugiere que no hay mucho de una api de servidor aquí.

    Buscar en la web para las páginas de mencionar api.npmjs.org me encontré con que el descargar cuenta puede ser recuperada a partir de ahí. Todos los demás documentos que he encontrado de hacer uso de esa instalación.

    Buscando alternativas, también me topé con npmsearch.com que ofrece algunos de los más versátiles de la búsqueda de instalaciones y ha un poco documentada de la API.

  2. 16

    No es un buen mecanismo nacional de prevención de la consulta del sitio https://npms.io que estoy usando por años en mi proyecto web. Es un de código abierto proyecto y soporta funciones avanzadas de búsqueda de una mejor calidad de los resultados para las palabras clave.

    Tienen un sistema de puntuación para cada paquete con la información recopilada sobre el proyecto. La puntuación final se calcula sobre la base de cuatro diferentes aspectos de la Calidad, el Mantenimiento, la Popularidad y Personalidades.

    También tiene muy cuidada API REST.

    API Doc: https://api-docs.npms.io

  3. 9

    https://skimdb.npmjs.com/registry/_all_docs

    Este es un método actual para sacar todos los nombres de los paquetes.

    La búsqueda de URL es http://registry.npmjs.com/-/v1/search?text=<searchstring>&size=20

  4. 6

    Si usted no puede encontrar un paquete o simplemente hacking juntos un script de shell de la Registro de la API de google Docs en el registro de la repositorio de git incluir información detallada sobre el API de búsquedas y de búsqueda de calificadores.

    Si usted está buscando el más popular de inseguridad paquete en el registro público de ejecución:

    wget -qO - "http://registry.npmjs.com/-/v1/search?text=is:insecure&popularity=1.0&size=1"

    Los usos anteriores de la is:insecure calificador de búsqueda, sin otros criterios de texto y agarra size=1 resultados donde popularity=1.0 (el más popular).

    De verificación en la docs directorio en la repo para un número de otras cosas útiles, tales como:

  5. 5

    Echa un vistazo a sinopia interfaz del registro: https://github.com/rlidwka/sinopia/blob/master/lib/index-api.js. El registro predeterminado para el mecanismo nacional de prevención de cliente es https://registry.npmjs.org (probarlo en la consola: mecanismo nacional de prevención de configuración ls -l). Así que usted puede probar el siguiente (en referencia a la sinopia API) para capturar los datos acerca de reaccionar 15.0.2

    https://registry.npmjs.org/react/15.0.2

  6. 3

    Sé que esta respuesta es viejo, pero algunos todavía se puede encontrar relevante para:

    Después de mucho buscar, por fin encontré algo, La solución no uso del MECANISMO nacional de prevención de la API, debido a su mala documentación y muchos más inconvenientes que tiene

    (Esto será útil para otros usos distintos de la búsqueda como una lista de los populares paquetes (lo necesitaba))

    La solución es utilizar Las bibliotecas.io

    Bibliotecas.io índices de datos de 4,273,741 paquetes de 36 gestores de paquetes. (Incluyendo NPM) De Las bibliotecas.io página

    Tiene una gran API y una buena documentación, también tiene algunas API de contenedor en varios idiomas


    Usted puede echar un vistazo a mi CLI programa que utiliza la biblioteca aquí

  7. 1

    Puede utilizar la api de mecanismo nacional de prevención de nodo del módulo de consulta directamente el MECANISMO nacional de prevención de registro y usted puede obtener todos los atributos de un módulo y descargar stat de cualquier módulo de cualquier rango de tiempo
    https://www.npmjs.com/package/api-npm

    • Este parece un buen comienzo, pero hay muchos más datos que uno puede desear. ¿Estás pensando en mejorar el paquete?
  8. 0

    Los documentos están aquí ahora:
    https://github.com/npm/registry/blob/master/docs/download-counts.md

    Descargas extremo

    Obtiene el total de descargas para un período determinado, para todos los paquetes o un paquete específico.

    GET https://api.npmjs.org/downloads/point/{period}[/{package}]

    Ejemplos

    Todos los paquetes, último día:
    /descargas/punto/de los últimos días
    Todos los paquetes, específico fecha:
    /descargas/punto/2014-02-01
    Paquete «express», la semana pasada:
    /descargas/punto/última semana/express
    Paquete «express», dado el período de 7 días:
    /descargas/punto/2014-02-01:2014-02-08/express
    Paquete «@holgura/cliente», en los últimos 30 días:
    /descargas/punto/de último mes/@holgura/cliente
    Paquete «jquery», mes específico:
    /descargas/punto/2014-01-01:2014-01-31/jquery

Dejar respuesta

Please enter your comment!
Please enter your name here