So rufen Sie alle * .html-Dateien mithilfe von Unix-Befehlszeilentools und regulären Ausdrücken von der Website ab

1378

Ich möchte alle .html-Dateien von einer Website abrufen, deren Name einen bestimmten Text enthält:

z.B. this_is_good_site.html

Ich möchte also .html-Dateien mit einem Wort "good" auf den Namen herunterladen. Ich habe versucht, Wget und Curl, aber ich verstand nicht, wie ich diese Dateien mit einem regulären Ausdruck auswählen kann? Gibt es eine Python- oder Perl-Lösung, wenn Befehlszeilentools unter Unix das nicht können?

1

3 Antworten auf die Frage

2
Toby Jackson

Wenn Sie eine Unix-Umgebung verwenden, versuchen Sie dies mit den rekursiven Optionen zum Akzeptieren / Ablehnen von wget .

wget -r -A "*good*" <site_to_download> 

Dies führt einen rekursiven (-r) Download der Site durch und akzeptiert nur (-A) Pfade, die dem Muster entsprechen ("* gut *").

1
Darren Newton

Wenn Sie es mit Python machen wollen, sollten Sie sich mit urlib2 beschäftigen - mit StackOverflow hätten Sie wahrscheinlich auch mehr Glück mit dieser Frage .

1
alpha1

Probieren Sie den HTTrack Website-Kopierer oder ein ähnliches Programm aus, besser als die Befehlszeile. Laden Sie alle Dateien in ein Verzeichnis herunter, sortieren Sie sie nach .html. Kopieren Sie sie und fügen Sie sie an einer anderen Stelle ein

http://www.httrack.com/