git-history:一款用于分析保存在Git和SQLite中的网页抓取数据的工具

git-history是一款命令行工具,用于分析保存在Git和SQLite中的网页抓取数据。它生成数据库记录文件随时间的变化,结合Datasette进行数据挖掘,帮助分析成千上万个版本的JSON和CSV文档。通过实例展示了如何利用git-history追踪加州森林火灾数据,揭示数据变化趋势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大多数人都知道Git scraping,这是一种网页抓取工具编程技术,你可以定期将数据源快照抓取到Git存储库来跟踪数据源随时间的变化。

如何分析这些收集到的数据是个公认的难题。git-history正是我为解决这个难题而设计的工具。

Git scraping技术回顾

抓取数据到Git存储库的一大优势在于,抓取工具本身非常简单。

这里有一个具体的例子:加州林业与消防局(Cal Fire)在fire.ca.gov/incidents网站上维护了一张火灾地图,地图展示了该州近期的大型火灾情况。

我找到了网站的底层数据:

curl https://www.fire.ca.gov/umbraco/Api/IncidentApi/GetIncidents

然后我搭建了一个简单的抓取工具,每20分钟抓取一份网站数据并提交至Git。到现在,这个工具已经运行了14个月,收集了1559个提交版本。

Git scraping最让我兴奋的是,它可以创建真正独一无二的数据集。很多组织都不会对数据变更内容和位置做详细归档,所以通过抓取他们的网站数据并保存到Git存储库,你会发现自己比他们更了解他们的数据变更历史。

然而,一个巨大的挑战是,如何最有效地分析这些收集到的数据?面对成千上万个版本、大量的JSONCSV文档,如果只靠肉眼观察不同之处,想必很难挖掘出数据背后的价值。

git-history

git-history就是我提出的新解决方案,它是一个命令行工具。它可以读取一个文件的全部历史版本,并生成一个SQLite数据库,记录文件随时间的变化。然后可以用Datasette分析挖掘这些数据。

下面是我用ca-fires-history存储库运行git-history所生成的一个数据库示例。我在存储库目录中运行以下命令创建了一个SQLite数据库:

git-history file ca-fires.db incidents.json \

--namespace incident \

--id UniqueId \

--convert 'json.loads(content)["Incidents"]'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值