2010-04-14 32 views
6

我有一個site我想用Unix下載wget下載。 如果您查看文件的源代碼和內容,它包含一個名爲SUMMARY的部分。 然而發出這樣的wget命令後:如何啓用'wget'用Javascript下載HTML的全部內容

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

downdloadedtext.txt的含量是不完全的和不同的源代碼該站點的 。例如它不包含SUMMARY部分。是否有正確的方式來正確獲取完整的內容?

我問這個問題的原因是因爲我想從該HTML中的不同值自動下載。

+0

我不明白。源代碼有什麼不同? Javascript與它有什麼關係? – 2010-04-14 09:37:23

+0

@Pekka:包含javascript的正文沒有被下載。請嘗試看看。 – neversaint 2010-04-14 09:40:10

+0

我現在沒有wget(在Windows機器上)。實際的* body *不同或者js文件沒有被下載? – 2010-04-14 09:41:47

回答

11

你需要把裏面引號鏈接:

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

這是因爲&有着特殊的意義,將命令拆分成多個命令。

3

&字符在殼中有特殊含義。引用URI,以便您實際請求您要請求的URI。

+0

@DD:如何報價?我嘗試過「\&l = 2610008E11Rik」,但仍然失敗。 – neversaint 2010-04-14 09:44:11

+0

嘗試'&'而不是'&'。 – 2010-04-14 09:46:03

+0

@皮卡:謝謝,但仍然沒有效果。 – neversaint 2010-04-14 09:48:07

2

您可以使用-p--page-prerequisites)標誌告訴wget檢索鏈接的資源。 From man wget

該選項使Wget下載正確顯示給定HTML頁面所需的所有文件。這包括內聯圖像,聲音和引用樣式表等內容。

你也可以看看--follow-tags選項,它可以讓你限制的過程:

的Wget具有HTML標籤/屬性對的內部表,它在遞歸尋找鏈接的文檔時,會考慮恢復。但是,如果用戶只需要考慮這些標籤的子集,則應該使用此選項以逗號分隔列表的形式指定此類標籤。

+0

@TJC:那不行。我不想獲取鏈接源的內容。我只想獲得該網站的完整內容。 – neversaint 2010-04-14 09:46:20

+0

@neversaint我認爲你的意思是「網頁」,而不是「網站」 – 2010-04-14 09:57:37