geizhals-at

TotalClaw 作者 totalclaw

使用仅 HTTP 自动完成 + 详细信息页面解析(无浏览器自动化)搜索 Geizhals.at(奥地利)。当用户想要从 Geizhals.at 快速查看价格并接受非官方/尽力抓取限制时使用。

安装 / 下载方式

TotalClaw CLI推荐
totalclaw install totalclaw:totalclaw~rolandkakonyi-geizhals-at
cURL直接下载,无需登录
curl -fsSL https://skills.taituai.com/api/skills/totalclaw%3Atotalclaw~rolandkakonyi-geizhals-at/file -o rolandkakonyi-geizhals-at.md
## 概述(中文)

使用仅 HTTP 自动完成 + 详细信息页面解析(无浏览器自动化)搜索 Geizhals.at(奥地利)。当用户想要从 Geizhals.at 快速查看价格并接受非官方/尽力抓取限制时使用。

## 原文

# geizhals-at

Geizhals-only lookup skill (Austria) using plain HTTP.

## Behavior

- Query Geizhals autocomplete endpoint (`/acs`) for product candidates.
- Fetch top candidate detail pages.
- Extract:
  - `min_price_eur`
  - `shop`
  - `offer_count`
  - `price_confidence` + `price_source`
- Return stable JSON records with `schema_version`.

## Constraints

- No browser automation.
- No JS execution.
- Unofficial integration: HTML patterns can change and break extraction.
- Keep request volume low.

## Usage

Run commands from the `geizhals-at` skill directory.

`uv` first:

```bash
uv run scripts/geizhals.py search "iphone 15" --limit 5
```

JSON output:

```bash
uv run scripts/geizhals.py search "mac mini" --limit 5 --json
```

Debug + explicit cache dir:

```bash
uv run scripts/geizhals.py search "bosch akkuschrauber" --limit 5 --json --debug --cache-dir /tmp/geizhals-cache
```

Fallback without `uv`:

```bash
python3 scripts/geizhals.py search "iphone 15" --limit 5
```

## Output contract

Each result includes:

- `schema_version` (currently `1.0`)
- `name`
- `detail_url`
- `min_price_eur` (nullable)
- `shop` (nullable)
- `offer_count` (nullable)
- `price_confidence`: `high|medium|low|unknown`
- `price_source`: `embedded_offer_raw_price|meta_product_price|title_ab_price|none`
- `error` (nullable)

## Testing

Run parser tests from the skill directory:

```bash
uv run --with pytest python -m pytest tests/test_parsers.py
```

Fallback:

```bash
python3 -m pytest tests/test_parsers.py
```

Fixtures live in `tests/fixtures/`.

## Known limitations

- Results are Geizhals-only by design.
- Some products may miss a shop or exact cheapest offer if page structure changes.
- If Geizhals rate-limits, the script retries with exponential backoff but can still fail.