2010-04-14 15 views
6

Tengo un site que deseo descargar usando Unix wget. Si observa el código fuente y el contenido del archivo, contiene la sección denominada RESUMEN. Sin embargo después de emitir un comando wget como esto:Cómo habilitar 'wget' para descargar todo el contenido de HTML con Javascript

wget -O downdloadedtext.txt http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik 

El contenido de la downdloadedtext.txt es incompleta y diferente con el código fuente de ese sitio. Por ejemplo, no contiene la sección RESUMEN. ¿Hay una manera correcta de obtener el contenido completo correctamente?

La razón por la que pregunto esto es porque quiero automatizar la descarga desde diferentes valores en ese HTML.

+0

No entiendo. ¿Qué diferencias hay en el código fuente? ¿Y qué tiene que ver Javascript con eso? –

+0

@Pekka: El cuerpo que contiene javascript no se descarga. Por favor, prueba y mira. – neversaint

+0

No tengo wget a mano ahora (en una máquina con Windows). ¿El * cuerpo * real es diferente o no se están descargando los archivos js? –

Respuesta

11

Es necesario poner el enlace entre comillas:

wget -O downdloadedtext.txt 'http://www.ncbi.nlm.nih.gov/IEB/Research/Acembly/av.cgi?db=mouse&c=gene&a=fiche&l=2610008E11Rik' 

Esto es porque el & tiene un significado especial y se repartirán el comando en varios comandos.

3

El carácter & tiene un significado especial en las conchas. Cite el URI para que realmente solicite el URI que desea solicitar.

+0

@DD: ¿Cómo citar? Intenté "\ & l = 2610008E11Rik" pero aún así fallé. – neversaint

+0

Pruebe '&' en lugar de 'y'. –

+0

@Pekka: Gracias, pero todavía no tiene efecto. – neversaint

2

Puede usar la bandera -p (--page-prerequisites) para indicar wget para recuperar los recursos vinculados. De man wget:

Esta opción hace que Wget descargue todos los archivos que son necesarios para mostrar correctamente una página HTML determinada. Esto incluye cosas tales como imágenes en línea, sonidos y hojas de estilo referenciadas.

También puede considerar la opción --follow-tags, lo que le permite limitar ese proceso:

Wget tiene una tabla interna de pares etiqueta/atributos HTML que se considera en la búsqueda de documentos vinculados durante una recursiva recuperación. Sin embargo, si un usuario desea que se considere un subconjunto de esas etiquetas, debe especificar dichas etiquetas en una lista separada por comas con esta opción.

+0

@TJC: Eso no funciona. No quiero obtener el contenido de la fuente vinculada. Solo quiero obtener el contenido completo de ese mismo sitio. – neversaint

+0

@neversaint Creo que te refieres a "página", no "sitio" –

Cuestiones relacionadas