watilde / npm

a package manager for javascript
http://npmjs.org/
41 stars 0 forks source link

日ごとの人気パッケージを知りたい #4

Closed 59naga closed 8 years ago

59naga commented 8 years ago

どうも、こんばんは。 新しく人気が出てきたパッケージを、日毎で確認できるようにしたいです。

現状、npm/download-countsを利用して、パッケージごとのダウンロード数を総当りで取得することが可能です。 ですがこの場合、著名な作者から芋づる式に取得するしか、方法が無いように見えます。 新しいorganizationや、ユーザーがpublishしたパッケージを見失うことがありそうです。

github.com/trendingのように、npmから、これらの情報を公開している場所を、提供していただくことは可能でしょうか?

azu commented 8 years ago

GitHubのトレンドページみたいなものは確かにない気がしますね。

via awesome-npm

watilde commented 8 years ago

こんにちは!こちらに関してですが、私が知ってるのは下記の2つの方法です。

新しく人気が出てきたパッケージを、日毎で確認できるようにしたいです。


日毎の更新が得られるjson file

Replicateする

59naga commented 8 years ago

http://npm-today.berabou.me/

Accept-Encoding:gzipヘッダによってhttps://api.npmjs.org/downloads/point/last-day/の結果が変わってしまうようです。

curl https://api.npmjs.org/downloads/point/2016-03-07
# {"downloads":146607111,"start":"2016-03-07","end":"2016-03-07"}

curl https://api.npmjs.org/downloads/point/2016-03-07 -H "Accept-Encoding:gzip" | gunzip -
# {"downloads":null,"start":"2016-03-07","end":"2016-03-07"}

とりあえず上記のAPIを利用時にはgzipヘッダ無しで、逆にnpm/download-countsはgzipヘッダありで運用してみようと思います。

59naga commented 8 years ago

skimdbの場合、startkey,endkeyを任意のDate.getTime()にすることで過去を遡ってデータを取れるようですね。 求めていた結果が得られましたので、issueを閉じます。情報ありがとうございました。