2023-05-09 12:11:34 +02:00
# M122 - Aufgabe
2024-06-24 01:22:34 +02:00
2024-06 MUH
2024-04-29 10:58:45 +02:00
## F APIs-Abfragen mit Datendarstellung
| Punkte | Beschreibung |
|--------|--------------|
| 1 | Eine Ablaufskizze (activity diagram) wird der Lehrperson vorgelegt |
| 1 | Für die Anbindung der ersten API mit einer Informationsklasse (Wetter, Kurse, ...) |
| 1 | Für die Verarbeitung von JSON-Files usw. (einfache Auflistung aller Daten) |
| 1 | Einbindung in crontab für die regelmässige Verarbeitung --> Log-File |
| 1 | "Schöne" (tabellarische) Darstellung der Informationsklasse(n) |
| **5** | **Total** |
| 1 | Eingechecked in GitLab, GitHub, BitBucket |
| 1 | Bonuspunkt für jede Anbindung einer weiteren API, bzw. Informationsklasse |
| 2 | Bonuspunkte für eine applikatorische Bearbeitung (nur ausgewählte Daten mit Steuerung über eine andere Config-Datei) |
| 1 | Bonuspunkt für die Onlinebereitstellung (FTP, HTML) mindestens einer Informationsklasse, halber Punkt für html-File auf mnt/c/Users/NAME/Desktop |
| 1 | Bonuspunkt für die regelmässige Zusendung per Mail (an sich selber) |
| | |
| **Plagiat** | Reduktion der Punkte nach Einschätzung des Lehrers, wenn der gleiche Code schon mal gesehen wurde |
| | |
2023-05-09 12:11:34 +02:00
### Aufgabenstellung
Für eine automatische Abholung von frei verfügbaren
Informationen kann man APIs (application programming interfaces)
benützen. Erstellen Sie "regelmässig" (muss in cron eingebunden sein)
eine Serie von für Sie wertvolle und tagesaktuelle Informationen.
2023-07-21 18:46:20 +02:00
Verwenden Sie dafür Bash-Shell-Script (ausnahmsweise auch PowerShell oder Python)
2023-05-09 12:11:34 +02:00
Die Informationen sollen (lokal oder auf einer Domain) als HTML-source "schön"
und so dargestellt werden, dass sie einfach mit dem Browser angesehen werden können.
2023-05-09 20:05:01 +02:00
Besser ist es, wenn die Informationen im Internet abrufbar sind
2023-05-09 20:40:02 +02:00
[**FTP-Zugangsdaten** ](../../tools-technics/ftp-zugangsdaten.md )
2023-05-09 20:05:01 +02:00
2023-05-09 12:11:34 +02:00
Lassen Sie sich die Informationen auch mailen.
Binden Sie Ihr Skript in die `crontab` ein (sudo crontab -e)
und wählen Sie einen geeigneten und vernünftigen Ausführungs-Takt.
Mögliche Informationen könnten sein:
2024-04-29 10:58:45 +02:00
- Hauptwährung-Umrechnungskurse (EUR zu CHF und 2 weitere Währungen)
- Kurse von Crypto-Währungen (wählen Sie 3 eigene aus)
2023-05-09 12:11:34 +02:00
- Aktienkurse oder Index-Entwicklungen
2024-04-29 10:58:45 +02:00
- Wetterdaten (von mehr als 1 Ort und über mehrere Zeitpunkte)
2023-05-09 12:11:34 +02:00
- Wassertemperaturen
2023-05-09 19:11:37 +02:00
- Sportresultate
- Kultur- und Event-Termine
- Aktuelle Preise von Gebrauchs- oder Konsumgüter
2023-05-09 12:11:34 +02:00
2023-05-09 19:11:37 +02:00
Sie können auch APIs von Einmaldaten abrufen wie
2023-05-09 12:11:34 +02:00
- Distanzen von Orten
- Bahnverbindungen
- Flugverbindungen
2023-05-09 19:11:37 +02:00
- Himmels-/Astronomiedaten
2023-05-09 12:11:34 +02:00
Hier einige mögliche APIs zum anbinden:
https://mixedanalytics.com/blog/list-actually-free-open-no-auth-needed-apis/
2023-05-09 19:06:10 +02:00
https://polygon.io/pricing
2023-05-09 12:11:34 +02:00
2024-06-23 22:27:51 +02:00
https://dev.to/sajankc/top-free-apis-without-an-api-key-120n
https://apipheny.io/free-api/
2024-06-23 22:33:06 +02:00
< hr >
2024-06-23 22:27:51 +02:00
https://api.coindesk.com/v1/bpi/currentprice.json
https://coinmap.org/api/v1/coins/
2024-06-23 22:48:03 +02:00
https://api.gemini.com/v2/ticker/btcusd, /ethusd, ... (nimm "ask"-Preis)
https://api.coingecko.com/api/v3/coins/markets?vs_currency=usd& order=market_cap_desc& per_page=100& page=1& sparkline=false
2024-06-23 22:27:51 +02:00
https://github.com/15Dkatz/official_joke_api
2024-06-23 22:33:06 +02:00
https://v6.exchangerate-api.com/v6/bb9ddd1855e84ded5fca04e0/latest/USD
2024-06-24 01:24:24 +02:00
2024-06-24 01:25:21 +02:00
```
2024-06-24 01:23:37 +02:00
curl https://v6.exchangerate-api.com/v6/bb9ddd1855e84ded5fca04e0/latest/CHF | grep USD
curl https://v6.exchangerate-api.com/v6/bb9ddd1855e84ded5fca04e0/latest/CHF | grep EUR
2024-06-24 01:25:21 +02:00
```