Analyzing PyPI package downloads - Python Packaging User Guide
下面是英文官网原文,解释了为什么不能获取下载统计信息。
翻译过后主要有以下几个原因:
1、使用CDN效率低:下载信息是动态变化的。包含在项目中的话,大量缓存会使得降低效率。
2、数据不精准:下载信息不可能准确无误,因为很多原因:
- pip的下载缓存
- 内部和非官方镜像下载,没法统计
- 没有托管在PyPI上的包
- 使用脚本不合规增加下载次数
- 已知的历史数据质量问问题
3、没有实际的用处:已知的历史数据质量问题
了解了PyPI为什么不显示下载统计信息之后,开始了解如何以及在哪里能找到统计信息。
作为替代,PyPI的下载日志会传输到谷歌查询 (Google BigQuery)。该代替方案中,有1TB的免费查询,之后得使用BigQuery的免费套餐(必须绑定信用卡,并且在免费查询之后就会扣除信用卡钱)才可以继续查询。
使用 Google Cloud 控制台查询公共数据集 | BigQuery
或者跟着我一起学习如何使用BigQuery:
1、首先你得有一个谷歌账号
2、BigQuery – MindSpore – Google Cloud Console进入该地址
3、点击左上角菜单,点击API
4、搜索BigQuery,并且添加
5、点击探索器,添加按钮
6、搜索数据源,输入公共数据集或者public data
7、开始查询数据,在快速开始手册中有很多例子,整体还是类似SQL语句,如果有过数据库的学习,应该不在话下
1 #standardSQL 2 SELECT 3 COUNT(*) AS num_downloads 4 FROM 5 `bigquery-public-data.pypi.file_downloads` 6 WHERE 7 file.project = 'pytest' -- Only query the LAST 30 days OF history 8 AND DATE(timestamp) BETWEEN DATE_SUB(CURRENT_DATE(), INTERVAL 30 DAY) 9 AND CURRENT_DATE()
查询下载次数,只需要更改file.project的值,就可以得到想要包30天内的下载次数
8、了解更多
如果想得到除了下载次数之外的细节信息,例如下载系统,下载版本,下载时间,甚至国家编号
可以打开bigquery-public-data数据库,找到pypi,其中有三张表
就可以查看表中拥有的信息,但是有些细节查询后是为null的。
如果更改数据表,记得更改查询语句中的FROM字段。
标签:谷歌,PyPI,BigQuery,查询,信息,DATE,下载 From: https://www.cnblogs.com/G-Sucker/p/18081344