2010-04-14 5 views
6

Ho un site che voglio scaricare usando Unix wget. Se si guarda il codice sorgente e il contenuto del file contiene una sezione chiamata SOMMARIO. Tuttavia dopo un comando wget simili:Come abilitare 'wget' per scaricare l'intero contenuto dell'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 

Il contenuto del downdloadedtext.txt è incompleta e differente con il codice sorgente di quel sito. Ad esempio non contiene la sezione SOMMARIO. C'è un modo corretto per ottenere correttamente l'intero contenuto?

La ragione per cui lo chiedo perché voglio automatizzare il download da valori diversi in quell'HTML.

+0

Non capisco. Quali differenze ci sono nel codice sorgente? E cosa c'entra Javascript con questo? –

+0

@Pekka: il corpo che contiene javascript non viene scaricato. Per favore, prova e vedi – neversaint

+0

Non ho wget a portata di mano adesso (su una macchina Windows). Il corpo * effettivo * è diverso o i file js non vengono scaricati? –

risposta

11

è necessario mettere il link all'interno citazioni:

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

Questo perché il & ha un significato speciale e sarà dividere il comando in più comandi.

3

Il carattere & ha un significato speciale nelle shell. Cita l'URI in modo da richiedere effettivamente l'URI che desideri richiedere.

+0

@DD: come quotare? Ho provato "\ & l = 2610008E11Rik" ma non sono riuscito ancora. – neversaint

+0

Prova '&' al posto di '&'. –

+0

@Pekka: Grazie ma ancora nessun effetto. – neversaint

2

È possibile utilizzare lo (--page-prerequisites) flag per indicare a wget di recuperare risorse collegate. Da man wget:

Questa opzione consente a Wget di scaricare tutti i file necessari per visualizzare correttamente una determinata pagina HTML. Ciò include cose come immagini, suoni e fogli di stile di riferimento.

Si potrebbe anche guardare l'opzione --follow-tags, che consente di limitare questo processo:

Wget ha una tabella interna di coppie tag/attributo HTML che considera quando alla ricerca di documenti collegati nel corso di una ricorsiva recupero. Se un utente desidera che venga preso in considerazione solo un sottoinsieme di tali tag, tuttavia, dovrà specificare tali tag in un elenco separato da virgole con questa opzione.

+0

@TJC: Questo non funzionerà. Non voglio ottenere il contenuto della sorgente collegata. Voglio solo ottenere il contenuto completo di quello stesso sito. – neversaint

+0

@neversaint Penso che tu intenda "pagina", non "sito" –