Télécharger tous les liens PDF dans une page Web? [fermé]


Réponses:


36

Vous pouvez utiliser wget et exécuter une commande comme celle-ci:

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

Ou avec les options courtes:

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

MISE À JOUR: Étant donné que votre mise à jour indique que vous exécutez Windows 7: utilisez wget pour Windows à partir d'une cmdinvite.

UPDATE 2: Pour une solution graphique - même si elle peut être excessive car elle obtient également d'autres fichiers est DownThemAll


merci kevin pour vos conseils, wget a l'air bien, de toute façon je préférerais un logiciel 'graphique', pas de ligne de commande. :)
Posez une question

2
Cela rejette même la page .html initiale. At-il déjà été testé?
dan3

La question concerne le téléchargement de tous les liens PDF, donc oui, la page initiale .html sera ignorée.
Kevin Worthington

Est-il possible de faire la même chose dans Windows 7 en utilisant Power Shell?
Benedikt Buchert

1
Je suggérerais également de prévoir un délai d'au moins quelques secondes entre les téléchargements de fichiers afin d'être agréable et de ne pas submerger le serveur distant. e, g, pour wget, ajoutez un drapeau de-w 5
KJH

6
  1. Dans votre navigateur, appuyez sur CTRL+ SHIFT+ Jet entrez

    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 (""));

    Cela reviendra dans la console:

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

  2. Maintenant en utilisant wgetavec les options de ligne de commandewget url1 url2 ...

Copiez et collez cela, ouvrez une console, wgetappuyez sur le bouton droit de la souris pour insérer le contenu de votre presse-papiers et appuyez sur entrée.

Pour utiliser un fichier de téléchargement, joignez les lignes avec "\ n" et utilisez le paramètre comme suit wget -i mydownload.txt

Notez que la plupart des autres programmes de téléchargement (GUI) acceptent également d'être appelés avec une liste d'URL séparées par des espaces.

J'espère que cela t'aides. C'est ainsi que je le fais généralement. C'est plus rapide et plus flexible que n'importe quelle extension avec une interface graphique, je dois apprendre et rester familier.


1
Mieux encore, console.log('"' + pdflinks.join('" "') + '"')- sinon vous n'obtenez pas réellement d'URL citées
dan3

1

Si vous voulez rester dans le navigateur, j'ai écrit une extension Web exactement à cette fin - je travaille sur l'ajout de la possibilité d'enregistrer des PDF d'articles savants avec des titres correctement formatés, mais si vous voulez simplement les télécharger, c'est parfait pour ça.

Cela s'appelle Tab Save et sur la boutique en ligne Chrome ici . Vous n'avez même pas besoin de saisir la liste des URL si vous les ouvrez toutes dans des onglets (mais pour un grand nombre de fichiers, cela peut ralentir un ordinateur, j'ai donc ajouté la possibilité d'ajouter la vôtre).


0

J'ai récemment utilisé uGet (sous Windows) pour cela. Il possède une interface graphique et vous pouvez filtrer les fichiers que vous souhaitez télécharger.

Économise en essayant de se souvenir de tous ceux


0

Sur Google Chrome, il est possible d'utiliser des extensions telles que:

  • Télécharger Master

    Avec cette extension, vous pouvez télécharger toutes les images, vidéos, pdf, doc et tout autre fichier lié sur la page Web que vous visitez.


0

Google

Il existe peu d'outils Python qui permettent de télécharger des liens PDF à partir du site Web en fonction des résultats de recherche Google.

Par exemple

Remarque: je suis le responsable des deux scripts mentionnés.

Les deux implémentent la xgooglebibliothèque Python. Mon fork de cette bibliothèque est basé sur la pkrumins/xgoogleversion .


Connexes: une recherche Web à partir de la ligne de commande Linux .

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.