Alle PDF-Links auf einer Webseite herunterladen? [geschlossen]


Antworten:


36

Sie können wget verwenden und einen Befehl wie folgt ausführen:

wget --recursive --level=1 --no-directories --no-host-directories --accept pdf http://example.com

Oder mit den kurzen Optionen:

wget -r -l 1 -nd -nH -A pdf http://example.com

UPDATE: Da Ihr Update besagt, dass Sie Windows 7 ausführen, verwenden Sie wget für Windows an einer cmdEingabeaufforderung.

UPDATE 2: Für eine grafische Lösung - obwohl es übertrieben sein kann, da es auch andere Dateien bekommt, ist DownThemAll


danke kevin für deinen rat, wget sieht gut aus, trotzdem würde ich eine "grafische" software bevorzugen, keine befehlszeile. :)
iAsk

2
Dies lehnt sogar die anfängliche HTML-Seite ab. Wurde es jemals getestet?
3.

Bei der Frage wird gefragt, ob alle PDF-Links heruntergeladen werden sollen. Ja, die ursprüngliche HTML-Seite wird ignoriert.
Kevin Worthington

Gibt es eine Möglichkeit, dasselbe in Windows 7 mit Power Shell zu tun?
Benedikt Buchert

1
Ich würde auch vorschlagen, zwischen den Dateidownloads eine Verzögerung von mindestens ein paar Sekunden einzuplanen, um nett zu sein und den Remote-Server nicht zu überfordern. -w 5
Fügen Sie beispielsweise

6
  1. Drücken Sie in Ihrem Browser CTRL+ SHIFT+ Jund geben Sie ein

    var pdflinks = []; Array.prototype.map. call (document.querySelectorAll ("a [href $ = \". pdf \ "]"), function (e, i) {if ((pdflinks || []). indexOf (e.href) == - 1) {pdflinks.push (e.href);}}); console.log (pdflinks.join (""));

    Dies wird in der Konsole zurückgegeben:

    " /superuser/tagged/somepdf1.pdf " " /superuser/tagged/somepdf2.pdf " " /superuser/tagged/somepdf3.pdf "

  2. Jetzt wgetmit den Kommandozeilenoptionenwget url1 url2 ...

Kopieren Sie diese, fügen Sie sie ein, öffnen Sie eine Konsole, wgetdrücken Sie die rechte Maustaste, um den Inhalt der Zwischenablage einzufügen, und drücken Sie die Eingabetaste.

Um eine Download-Datei zu verwenden, verbinden Sie die Zeilen mit "\ n" und verwenden Sie den Parameter wie folgt wget -i mydownload.txt

Beachten Sie, dass die meisten anderen (GUI) Download-Programme auch akzeptieren, mit einer durch Leerzeichen getrennten Liste von URLs aufgerufen zu werden.

Hoffe das hilft. So mache ich es im Allgemeinen. Es ist schneller und flexibler als jede Erweiterung mit einer grafischen Benutzeroberfläche. Ich muss es lernen und damit vertraut bleiben.


1
Besser noch console.log('"' + pdflinks.join('" "') + '"')- sonst bekommt man eigentlich keine URLs in
Anführungszeichen

1

Wenn Sie im Browser bleiben möchten, habe ich eine Web-Erweiterung für genau diesen Zweck geschrieben. Ich arbeite daran, die Möglichkeit hinzuzufügen, wissenschaftliche Artikel-PDFs mit korrekt formatierten Titeln zu speichern, aber wenn Sie sie nur herunterladen möchten, ist es perfekt dafür.

Es heißt Tab speichern und auf dem Chrome Web Store hier . Sie müssen nicht einmal die Liste der URLs eingeben, wenn Sie sie nur in Registerkarten öffnen (bei einer großen Anzahl von Dateien kann dies den Computer verlangsamen, sodass ich die Option zum Hinzufügen Ihrer eigenen hinzugefügt habe).


0

Ich habe kürzlich uGet (unter Windows) dafür verwendet. Es hat eine GUI und Sie können die Dateien filtern, die Sie herunterladen möchten.

Spart den Versuch, sich an all diese Dinge zu erinnern


0

In Google Chrome können folgende Erweiterungen verwendet werden:

  • Laden Sie Master herunter

    Mit dieser Erweiterung können Sie alle Bilder, Videos, PDFs, Dokumente und alle anderen Dateien herunterladen, die auf der von Ihnen besuchten Webseite verlinkt sind.


0

Google

Es gibt nur wenige Python-Tools, mit denen Sie PDF-Links von der Website herunterladen können, die auf den Google-Suchergebnissen basieren.

Z.B

Hinweis: Ich bin der Betreuer der beiden genannten Skripte.

Beide implementieren die xgooglePython-Bibliothek. Mein Fork dieser Bibliothek basiert auf der pkrumins/xgoogleVersion .


Verwandte Themen: Eine Websuche über die Linux-Befehlszeile .

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.