2011-05-25 53 views
1

我目前正在修改offline-dokuwiki [1] shell腳本以獲取應用程序的最新文檔,以便自動嵌入該應用程序的實例中。這工作得很好,除了在其目前的形式,它抓住每一頁的三個版本:使用wget僅以純xhtml格式下載dokuwiki頁面

  1. 完整頁面包括頁眉和頁腳
  2. 沒有頁眉和頁腳
  3. 原始wiki語法只是內容

我只是很實際興趣2.這是由HTML標籤<link>鏈接從主網頁中<head>,像這樣:

<link rel="alternate" type="text/html" title="Plain HTML" 
href="/dokuwiki/doku.php?do=export_xhtml&amp;id=documentation:index" /> 

與主維基頁面的URL相同,只有它們在查詢字符串中包含「do = export_xhtml」。有沒有一種方法可以讓wget只下載這些版本,或者自動將'& do = export_xhtml'添加到它隨後的任何鏈接的末尾?如果是的話,這將是一個很大的幫助。

[1] http://www.dokuwiki.org/tips:offline-dokuwiki.sh(作者:samlt)

+0

我開始懷疑這個解決方案可能是隻下載內容頁面,然後用sed解析它以提取所有的url包括'do = export_xhtml',然後遞歸地對每個如此提取的url進行相同的操作。但我更喜歡它,如果可以指示wget首先獲取純html版本,或者如果可能的話,自動將查詢字符串添加到每個url。 – AntonChanning 2011-05-26 10:57:51

+0

如果您爲xml或xhtml以及某種處理工具(** xmlstartlet **,xslt,awk,perl,(不包括sed(有幾十篇關於sed無法完成的文章的帖子),您可能會收到更多反饋HTML解析,忽略他們在你的危險!;-)) – shellter 2011-05-26 15:32:18

回答

2

DokuWiki的接受做參數作爲HTTP標頭爲好。你可以運行wget參數 - 頭文件「X-DokuWiki-Do:export_xhtml」

+0

謝謝,這正是我尋找的解決方案。爲了使它起作用,我還必須將'* do = export_xhtml,* do = export_raw'添加到wgets'--reject'參數中。 – AntonChanning 2011-05-31 08:51:37