正在加载数据...
自己分析数据
您可以直接从各个更新站点以及下载原始数据。每个站点都有8个不同的可用统计文件,一个元数据索引:
数据类型:
stats-unique-daily.txt.gz- 每天唯一的 IP 地址stats-total-daily.txt.gz- 每天更新检查总数stats-unique-monthly.txt.gz- 每月唯一的 IP 地址stats-total-monthly.txt.gz- 每月更新检查总数stats-unique-yearly.txt.gz- 每年唯一的 IP 地址stats-total-yearly.txt.gz- 每年更新检查总数stats-unique-ever.txt.gz- 每日累计唯一IP地址stats-total-ever.txt.gz- 每日累计检查总数sites.json- 标记点列表和汇总统计的元数据索引
网址格式: https://sites.imagej.net/{SITE_NAME}/{STATS_FILE}
节点索引: https://sites.imagej.net/sites.json
示例网址:
- https://sites.imagej.net/Java-8/stats-unique-daily.txt.gz
- https://sites.imagej.net/Fiji/stats-total-monthly.txt.gz
数据格式: 每行包含一个由空格分隔的日期序列和计数值:
20250723 458
20250724 672
20250725 543
日期格式:
- 每日/永远:
YYYYMMDD(例如,20250723) - 每月:
YYYYMM(例如,202507) - 每年:
YYYY(例如,2025)
站点元数据格式:
sites.json文件包含每个更新站点的元数据:
{
"Java-8": {
"date_range": {
"start": "20151220",
"end": "20250904"
},
"total_unique_ips": 12534,
"total_requests": 89472,
"days_with_data": 3546,
"last_generated": "2025-09-05"
}
}
以下是一个 Python 脚本示例,用于分析特定站点的年度下载概述:
import gzip
import urllib.request
def fetch_yearly_stats(site_name, stat_type='total'):
"""Fetch and parse yearly statistics for a site."""
url = f'https://sites.imagej.net/{site_name}/stats-{stat_type}-yearly.txt.gz'
with urllib.request.urlopen(url) as response:
with gzip.open(response, 'rt') as f:
data = {}
for line in f:
if line.strip():
year, count = line.strip().split()
data[int(year)] = int(count)
return data
# Example: Get Java-8 yearly download statistics
site = 'Java-8'
yearly_stats = fetch_yearly_stats(site, 'unique')
print(f"Yearly unique IP statistics for {site}:")
for year in sorted(yearly_stats.keys()):
print(f" {year}: {yearly_stats[year]:,} unique IPs")
# Find the most popular year
best_year = max(yearly_stats.keys(), key=lambda y: yearly_stats[y])
print(f"\nBest year: {best_year} with {yearly_stats[best_year]:,} unique IPs")
另一个示例列出了按唯一 IP 索引排序的所有站点:
import json
import urllib.request
with urllib.request.urlopen('https://sites.imagej.net/sites.json') as response:
sites_data = json.load(response)
# Sort sites by total unique IPs
ranked_sites = sorted(
sites_data.items(),
key=lambda x: x[1]['total_unique_ips'],
reverse=True
)
print("Sites ranked by total unique IPs:")
for site_name, metadata in ranked_sites:
print(f" {site_name}: {metadata['total_unique_ips']:,} unique IPs "
f"({metadata['days_with_data']} days of data)")