29 lines
810 B
Bash
Executable File
29 lines
810 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
OUTFILE="${1:-wunf_scenes.csv}"
|
|
|
|
# Töm (eller skapa) utfilen
|
|
: > "$OUTFILE"
|
|
|
|
for page in $(seq 1 18); do
|
|
echo "Hämtar sida $page..." >&2
|
|
curl -sL "https://www.wakeupnfuck.com/scene?page=${page}" |
|
|
perl -0777 -ne '
|
|
# Läs hela sidan som en sträng (-0777) och matcha varje informationsblock
|
|
while (m{
|
|
<div\ class="informations">\s*
|
|
.*?<h3>\s*([^<]+)\s*</h3>\s*
|
|
.*?<p\ class="sub">\s*([^<]+)\s*</p>\s*
|
|
.*?<p\ class="timer">\s*([^<]+)\s*</p>
|
|
}gxis) {
|
|
my ($code, $name, $dur) = ($1, $2, $3);
|
|
for ($code, $name, $dur) { s/^\s+|\s+$//g } # trim
|
|
# Skriv i önskat format: Namn;Kod;Tid
|
|
print "$name;$code;$dur\n";
|
|
}
|
|
' >> "$OUTFILE"
|
|
done
|
|
|
|
echo "Klart. Skrev $(wc -l < "$OUTFILE") rader till $OUTFILE" >&2
|