Thread Webseite bestimmte Werte auslesen
(12 answers)
Opened by Willi9974 at 2020-03-07 09:08
Das Auslesen von Informationen aus Webseiten ist ... nun ja, ein recht zerbrechliches Verfahren. Webseiten sind für Browser bestimmt, und je nach Lust und Laune des Anbieters kann sich die beliebig verändern, ohne dass Browser-Nutzer davon viel mitbekommen. Das ist also eher eine Notlösung, und wenn's sein muss, ist Perl auch eine gut geeignete Sprache für so etwas.
Man kann HTML-Seiten schreiben, die gut zum "Scraping" geeignet sind, aber diese sind es nicht (beim dritten Link sind schon Euro- und Cent-Werte in getrennten HTML-Elementen). In solchen Fällen gibt es aber oft auch maschinenlesbaren Output vom selben Anbieter. Beim ersten bin ich fündig geworden: Da gibt es ein API (siehe https://www.blockchain.com/api und https://www.blockchain.com/api/blockchain_api), und für Deine Adresse bekommst Du die Daten als JSON-Struktur unter https://blockchain.info/rawaddr/12dRugNcdxK39288Nj.... Da springt einem die Struktur auf oberster Ebene schon direkt mit den von Dir gesuchten Werten ins Gesicht: Code: (dl
)
1 hash160: "11dbe48cc6b617f9c6adaf4d9ed5f625b1c7cb59" In Perl kann man solche Strukturen mit ![]() Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 use 5.020; use strict; use warnings; use LWP::Simple; use JSON; my $address = '12dRugNcdxK39288NjcDV4GX7rMsKCGn6B'; my $content = get("https://blockchain.info/rawaddr/$address"); defined $content or die "Falsche Adresse: '$address'"; my $result = decode_json $content; say "Anzahl Transaktionen: $result->{n_tx}"; say "Insgesamt erhalten: ", $result->{total_received}/1E8; say "Saldo: ", $result->{final_balance}/1E8; Ausgabe: View full thread Webseite bestimmte Werte auslesen |