一个可怕的杂货价格搜索“应用程序”。每天从奥地利大型杂货连锁店获取数据,并让你搜索它们。请参阅 https://heisse-preise.io。
该项目由一个简单的 NodeJS Express 服务器组成,负责获取产品数据、对其进行按摩并将其提供给前端(请参阅)。前端是一个省力的普通 HTML/JS 应用程序(请参阅中的源代码)。
server.js
site/
安装 NodeJS,然后在你选择的 shell 中运行它。
git clone https://github.com/badlogic/heissepreise
cd heissepreise
mkdir -p data
npm install
npm run dev
首次运行此命令时,需要从存储中获取数据。你应该看到像这样注销。
Fetching data for date: 2023-05-23
Fetched LIDL data, took 0.77065160000324 seconds
Fetched MPREIS data, took 13.822936070203781 seconds
Fetched SPAR data, took 17.865891209602356 seconds
Fetched BILLA data, took 52.95784649944306 seconds
Fetched HOFER data, took 64.83968291568756 seconds
Fetched DM data, took 438.77065160000324 seconds
Merged price history
App listening on port 3000
应用默认侦听端口 3000 后,在浏览器中打开 http://localhost:3000。
后续启动将以异步方式获取数据,因此你可以立即开始工作。
按照上面安装依赖项,然后只需运行:
git clone https://github.com/badlogic/heissepreise cd heissepreise npm install npm run dev
应用默认侦听端口 3000 后,在浏览器中打开 http://localhost:3000。
你还可以获取原始数据。原始数据以项目的 JSON 数组形式返回。项目具有以下字段:
store: (, , , , , , ...)
billa
spar
hofer
dm
lidl
mpreis
name:产品名称。
price:以欧元为单位的当前价格。
priceHistory:对象数组,按日期降序排序。
{ date: "yyyy-mm-dd", price: number }
unit:商品的销售单位。可能未定义。
quantity:产品以给定价格出售的数量
bio:本产品是否被归类为有机/“生物”
如果在本地运行项目,则可以使用活动站点中的数据,包括历史数据,如下所示:
cd heisse-preise rm data/latest-canonical.* curl -o data/latest-canonical.json https://heisse-preise.io/data/latest-canonical.json
使用 或 重新启动服务器。
npm run dev
npm run start
heisse-preise.io 的实时站点具有来自以下方面的历史数据: