3 votos

Descarga por lotes de URLs desde un archivo .txt

Tengo un archivo .txt con las URL en una línea separada.

http://www.apple.com
http://www.google.com
http://www.reuters.com

Me gustaría descargar estas páginas web como fuente de la página (un archivo .html) para poder abrirlas sin conexión en mi navegador web.

He intentado hacer esto con automator, pero parece que no funciona correctamente. Mi flujo de trabajo de Automator consta de 2 pasos: "Extraer datos del texto" y "Descargar URLs". He buscado en la web soluciones ya existentes, pero no he encontrado nada que entienda.

¿Puede alguien crear un programa con Automator o Applescript (o algo más) para que pueda descargar estas páginas web?

El programa debería funcionar de la siguiente manera:

  1. El programa lee un archivo .txt con las URL en una línea separada. (El tipo de archivo no importa realmente, siempre que sea sencillo para su programa: .csv, .pages, .doc, ...)
  2. El programa lee cada URL del archivo y la descarga como un archivo .html para que las páginas web sean accesibles sin conexión a Internet.
  3. Todos los archivos .html deben guardarse en una carpeta, preferiblemente una carpeta en mi escritorio con el nombre "Archivos html descargados"

Gracias de antemano, Si hay alguna pregunta, no dude en preguntar. Responderé lo antes posible.

1 votos

¿Qué es un "mapa" (punto 3)? ¿Sólo quiere la página a la que apunta la URL o la página que incluye todas las imágenes, etc.? ¿O todas las subpáginas también (es decir, todo el sitio al que apunta la URL)?

0 votos

Quiero una copia completa de la página web. No quiero guardar todo el sitio con todas las subpáginas. Sólo la página a la que apunta la URL con imágenes, etc. Cada archivo .html debe ser guardado en una carpeta en mi escritorio. Con 'mapa', quiero decir carpeta (error de traducción). Gracias por su respuesta.

1voto

TheBro21 Puntos 1319

Para utilizar el siguiente método, deberá instalar wget .

Hacer un archivo con la extensión .sh en el mismo directorio que el archivo que contiene los enlaces y añada este texto:

mkdir ~/Desktop/download

while read line; do wget -E -H --directory-prefix=/Users/username/Desktop/download -k -p $line; done < file.txt

cd ~/Desktop/download

Asegúrese de edita el script y cambia el nombre de usuario por tu nombre de usuario

Esto dice archivo.txt para las URLs y ejecuta el comando wget varias veces con todos los enlaces uno por uno y los guarda en una carpeta llamada descargar en su escritorio.

Ejecútalo en el terminal con ./script.sh o como sea que lo hayas llamado. Si muestra Permiso denegado y, a continuación, ejecute chmod a+x script.sh

2 votos

wget no forma parte de OS X por defecto

0 votos

@patrix Puse el comando mv en el shell script, porque cuando lo probé, wget hizo un directorio llamado -directory-prefix=~ en el directorio con mi script, que contenía Desktop y download.

1 votos

Sí, porque tenías ambos -P y ----directory-prefix que hacen lo mismo, así que sólo necesitas uno o el otro. He arreglado el wget opciones.

1voto

IronCraftMan Puntos 1345

La línea de comandos es más fácil ( https://superuser.com/a/168625 ):

Utilice wget -i urls.txt

Una forma alternativa, utilizando este respuesta, utilizando Extraer URLs del texto, y luego Descargar URLs. Guárdelo como un servicio. Selecciona todas las URLs, haz clic con el botón derecho > Servicios > Descargar URLs

0 votos

wget no está instalado en OS X.

0 votos

@jBot-42 puedes instalarlo fácilmente usando homebrew.

0 votos

Con respecto a su camino alternativo: Hice el programa de automatización (guardado como un servicio). Al utilizar este programa, las URLs se descargan como archivos html y se guardan en mi carpeta de descargas. En cambio, quiero que los archivos se guarden en una nueva carpeta en mi escritorio. ¿Cómo puedo crear automáticamente una nueva carpeta en mi escritorio (llamada "Archivos html descargados") donde se descargan los archivos? ¿Puede alguien adaptar el programa automator que acabo de hacer para que se ajuste a mis necesidades? Gracias de antemano.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X