这个问题是国家预防机制特有的。
几年前,我写了一个名为qnp
的工具,它可以下载整个npm软件包列表,然后执行本地查询,速度非常快,每个查询大约0.2秒。这允许对现代编程世界进行非常有趣的研究,通过作者姓名、描述、标签等进行过滤,执行数百个查询,检查结果,分析,有想法,执行更多的查询。官方客户端很好,但是不允许你以思维的速度做非常快的查询。下面是我的问题:
大约一年前,NPM的注册表元数据DB的位置被放弃,现在它返回一个空文件。现在我如何下载/获取整个元数据列表?我至少需要这些字段:标题/作者/描述/关键字/日期。可选下载计数、依赖项列表、版本。
下面是之前运行的代码:
var request = http.get({
host: 'registry.npmjs.org',
path: '/-/all/static/all.json',
headers: {
'Accept-Encoding': 'gzip, deflate'
}
}, function (a,b,c) {
var done = 0 ; var all = parseInt(a.headers['content-length'])
a.on('data', function (a,b,c) {
done += a.length
process.stdout.write( '\r' + (done / (all/100)).toFixed(2)+'% ' )
})
console.log('download started')
a.pipe(S)
S.on('finish', function (a,b,c) {
console.log('download complete')
S.close(f)
})
})
1条答案
按热度按时间06odsfpq1#
当我搜索答案的时候,这篇文章出现在了顶部,让我指出两个包,可能对人们回答这个老问题有帮助:
使用第一个,我下载了一个包含2.247.694个条目的列表
其中
pnpx
是pnpm
的等价物,npx
是npm CLI运行程序(后者与NodeJS一起安装)。