当前位置:   article > 正文

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

git history

大多数人都知道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数据库:

  1. git-history file ca-fires.db incidents.json \
  2. --namespace incident \
  3. --id UniqueId \
  4. --convert 'json.loads(content)["Incidents"]'

本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号