Website Quellcode mit bash auslesen?

... komplette Frage anzeigen

3 Antworten

Der "o" Schalter vom grep Kommando liefert dir "nur" den aktuellen Treffer, und nicht die Zeile.

Da grep aber keine Gruppen unterstützt, kannst du auch - falls du komplexere Dinge verarbeiten musst - zwei grep-Kommandos hintereinander hängen:

wget -qO- 'website.tld/pfad/datei.ext' | grep -oiP 'href="https?://[^"]+"' | grep -oiP 'https?://[^"]+'

Das "O-" leitet die heruntergeladene Datei auf die Standardausgabe um, also brauchst du keine temporäre Datei mehr. "-q" sagt wget einfach nur, dass du keine weiteren Ausgaben wünschst.

Das erste grep liefert alle href-Attribute, die eine absolute URL beginnend mit "http" oder "https" enthalten. Das zweite grep extrahiert den reinen Link.

(Falls du keine mächtigen Perl Regexen benötigst, kannst du auch auf die "-P" Option verzichten, und statt mehrere grep Kommandos durch Pipe, lieber mehrere Regexen durch "-e" verbinden!)

Viel Spaß! :)

Antwort bewerten Vielen Dank für Deine Bewertung

Ich würde es mit Stringoperatoren machen. Findest du hier:

http://tldp.org/LDP/abs/html/string-manipulation.html

entweder unter substring removal (mit Suchmuster wie "http:...") oder substring extraction (mit Positionsangaben).

Antwort bewerten Vielen Dank für Deine Bewertung

Ich verstehe deinen Satzbau in der Frage nicht recht. Im Titel sagst du was von Quellcode und in der Frage selbst, dass du nur den link haben möchtest... Was denn nun?

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von Johann0604
02.09.2016, 06:24

Ich möchte nur den Link.
Ich gehe aber davon aus, dass man dazu den Quellcode braucht, oder nicht?

0

Was möchtest Du wissen?