Wenn Sie auf einem Linux- oder Unix-System (wie FreeBSD oder macOS) laufen, können Sie eine Terminalsitzung öffnen und den folgenden Befehl ausführen:
wget -O - http://example.com/webpage.htm | \ sed 's / href = / \ nhref = / g' | \ grep href = \ "http://specify.com | \ sed 's /.* href = "// g; s /".*// g'> out.txt
In der Regel können sich mehrere <a href>
Tags in einer Zeile befinden. Sie müssen also zuerst die Tags ausschneiden (das erste sed
fügt vor jedem Keyword Zeilenumbrüche hinzu href
, um sicherzustellen, dass in einer Zeile nicht mehr als eines davon steht).
Um Links von mehreren ähnlichen Seiten zu extrahieren, z. B. alle Fragen auf den ersten 10 Seiten dieser Website, verwenden Sie eine for
Schleife.
für i in $ (seq 1 10); tun wget -O - http://superuser.com/questions?page=$i | \ sed 's / href = / \ nhref = / g' | \ grep -E 'href = "http://superuser.com/questions/[0-9]" | \ sed 's /.* href = "// g; s /".*// g' >> out.txt erledigt
Erinnern Sie sich, durch http://example.com/webpage.htm
Ihre tatsächliche Seiten-URL und http://specify.com
den vorhergehenden String, den Sie angeben möchten, zu ersetzen .
Sie können nicht nur eine vorangehende Zeichenfolge für die zu exportierende URL angeben, sondern auch ein Muster für reguläre Ausdrücke, wenn Sie egrep
oder grep -E
in dem oben angegebenen Befehl verwenden.
Wenn Sie mit Windows arbeiten, sollten Sie Cygwin in Betracht ziehen . Vergessen Sie nicht, Pakete auszuwählen Wget
, grep
und sed
.