Descargar todos los enlaces PDF en una página web? [cerrado]

Respuestas:

36

Puede usar wget y ejecutar un comando como este:

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

O con las opciones cortas:

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

ACTUALIZACIÓN: Dado que su actualización dice que está ejecutando Windows 7: use wget para Windows desde un cmdindicador.

ACTUALIZACIÓN 2: para una solución gráfica, aunque puede ser excesivo ya que también obtiene otros archivos, es DownThemAll

Kevin Worthington
fuente
gracias Kevin por tu consejo, wget se ve bien, de todos modos preferiría un software 'gráfico', sin línea de comando. :)
Pregunta
2
Esto rechaza incluso la página .html inicial. ¿Alguna vez ha sido probado?
dan3
La pregunta se refiere a la descarga de todos los enlaces PDF, por lo que sí, se ignorará la página .html inicial.
Kevin Worthington
¿Existe la posibilidad de hacer lo mismo en Windows 7 con Power Shell?
Benedikt Buchert
1
También sugeriría lanzar un retraso de al menos unos segundos entre las descargas de archivos para que sea agradable y no abrume al servidor remoto. e, g, para wget, agregue una bandera de-w 5
KJH
6
  1. En su navegador, presione CTRL+ SHIFT+ Je ingrese

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

    Esto volverá en la consola:

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

  2. Ahora usando wgetcon las opciones de línea de comandowget url1 url2 ...

Copie y pegue esto, abra una consola enter wgetpresione el botón derecho del mouse para insertar el contenido del portapapeles y presione enter.

Para usar un archivo de descarga, une las líneas con "\ n" y usa el parámetro de la siguiente manera wget -i mydownload.txt

Tenga en cuenta que la mayoría de los otros programas de descarga (GUI) también aceptan ser llamados con una lista de URL separadas por espacios.

Espero que esto ayude. Así es como generalmente lo hago. Es más rápido y más flexible que cualquier extensión con una interfaz gráfica de usuario, tengo que aprender y estar familiarizado.

Lorenz Lo Sauer
fuente
1
Mejor aún, de lo console.log('"' + pdflinks.join('" "') + '"')contrario, no obtendrá las URL citadas
dan3
1

Si desea permanecer en el navegador, he escrito una extensión web exactamente para este propósito: estoy trabajando para agregar la capacidad de guardar archivos PDF de artículos académicos con títulos formateados correctamente, pero si solo desea descargarlos, todo es perfecto para esto.

Se llama Tab Save y en Chrome Web Store aquí . Ni siquiera tiene que ingresar la lista de URL si solo las abre en pestañas (pero para una gran cantidad de archivos esto podría ralentizar una computadora, así que agregué la opción de agregar la suya propia).

Louis Maddox
fuente
0

Recientemente utilicé uGet (en Windows) para esto. Tiene una GUI y puede filtrar los archivos que desea descargar.

Guarda tratando de recordar todos esos

De meditación
fuente
0

En Google Chrome, es posible usar extensiones como:

  • Descargar Master

    Con esta extensión, puede descargar todas las imágenes, videos, pdf, documentos y cualquier otro archivo vinculado en la página web que está visitando.

kenorb
fuente
0

Google

Existen pocas herramientas de Python que permiten descargar enlaces PDF desde el sitio web en función de los resultados de búsqueda de Google.

P.ej

Nota: Soy el mantenedor de los dos scripts mencionados.

Ambos están implementando la xgooglebiblioteca Python. Mi tenedor de esta biblioteca se basa en la pkrumins/xgoogleversión .


Relacionado: Una búsqueda web desde la línea de comandos de Linux .

kenorb
fuente