Files
to-hen/orte/list-orte.sh

27 lines
916 B
Bash
Executable File

#!/bin/sh
root=https://www.orte-in-deutschland.de
extract_orte() {
htmlq 'a[href*="-gemeinde-"], a[href*="-ort-"]' --attribute href \
| sed "s#^#$root/#"
}
curl -sSL "$root/alphabetisches-ortsverzeichnis.html" \
| htmlq '#suchindex li a[href^="orte-in"]' --attribute href \
| while read -r slug; do
curl -sSL "$root/$slug" \
| htmlq '#subsuchindex li a[href^="orte-in"]' --attribute href \
| while read -r slug; do
first_page="$(curl -sSL "$root/$slug")"
echo "$first_page" | extract_orte
echo "$first_page" \
| htmlq 'a[href*="?seite="]' --attribute href \
| sed 's/.*seite=//' \
| sort -un \
| sed -n '1p;$p' \
| xargs seq 2>/dev/null | while read -r page; do
curl -sSL "$root/$slug?seite=$page" | extract_orte
done
done
done