我想抓取使用 MediaWiki 軟體的整個 wiki。頁數很小,但有很多修訂,我也希望能刮下修訂。
與維基百科不同,維基百科不提供資料庫轉儲。是否有任何現有的軟體/腳本旨在抓取 MediaWiki 網站?
答案1
如果 wiki 的維護者沒有關閉它,您可以透過以下方式匯出頁面及其歷史記錄特殊:出口。這將為您提供類似於 Wikipedia 資料庫轉儲的 XML 轉儲,然後您可以將其匯入到另一個 wiki 中。
從 MediaWiki 取得 XML 格式的頁面歷史記錄的另一種方法是使用prop=修訂 API 查詢。但是,API 結果格式與 Special:Export 產生的格式有些不同,因此您可能需要對輸出進行一些處理,然後才能提供給標準匯入腳本。
答案2
查看 WikiTeam 提供的工具。http://archiveteam.org/index.php?title=WikiTeam
我個人使用 wikiteam 的 dumpgenerator.py,可以在此處找到:https://github.com/WikiTeam/wikiteam
它依賴 python 2。
git clone https://github.com/WikiTeam/wikiteam.git
基本用法是:
python dumpgenerator.py http://wiki.domain.org --xml --images