2
A
回答
1
有人認爲一些python mediawiki markup parsers/renderers,你幾乎可以從HTML轉換成你需要的風格的明文。不過,不知道實際工作會有多好。
0
我做了這個前幾天克隆維基媒體網站
import re
from mediawikitools import *
import os
from sys import argv
def list_all_pages(site):
query_results = api.APIRequest(site, {'action':'query', 'list':'allpages', 'aplimit':'500'}).query()
results = query_results['query']['allpages']
return results
def clone(site):
if not os.path.exists(site.siteinfo['sitename'][:20]):
print 'Make Dir', site.siteinfo['sitename'][:20]
os.makedirs(site.siteinfo['sitename'][:20])
index = open(site.siteinfo['sitename'][:20] + '/' + 'Index','w')
pages = list_all_pages(site)
for test_page in pages:
if test_page['title'].rfind('/') != -1 and not os.path.exists(site.siteinfo['sitename'][:20] + '/' + test_page['title'][:test_page['title'].rfind('/')+1]):
#print test_page['title'][:test_page['title'].rfind('/')+1]
os.makedirs(site.siteinfo['sitename'][:20] + '/' + test_page['title'][:test_page['title'].rfind('/')+1])
page_file = open(site.siteinfo['sitename'][:20] + '/' + test_page['title']+'.wiki', 'w')
try:
index.write(site.siteinfo['sitename'][:20] + '/' + test_page['title']+'.wiki')
wiki_file = page.Page(site, test_page['title'])
print site.siteinfo['sitename'][:20] + '/' + test_page['title']+'.wiki'
page_file.write(wiki_file.getWikiText())
except KeyError, e:
print e
except UnicodeEncodeError, e:
print e
if __name__ == '__main__':
site = wiki.Wiki("http://localhost/wiki/api.php")
site.setUserAgent('Mozilla/6.0 (Windows NT 6.2; WOW64; rv:16.0.1) Gecko/20121011 Firefox/16.0.1')
print site.siteinfo['sitename']
clone(site)
#site.login(username, password, force=true) if you need a username and password to acess it
相關問題
- 1. 的CKEditor +媒體維基
- 2. 從維基百科/維基媒體修訂頁面提取更改
- 3. 媒體維基AWC論壇
- 4. 語義媒體維基
- 5. 解析維基媒體api
- 6. 媒體維基JSON響應
- 7. 將媒體維基文件鏈接到新標籤?
- 8. 在維基頁面
- 9. 維基媒體登錄不回授權
- 10. 如何從維基媒體頁面提取所有圖像鏈接?
- 11. 恢復Trac中的維基頁面
- 12. WordPress的3.5.1無法添加媒體到頁面。媒體庫是空的
- 13. Trac,維基頁面繼承
- 14. Trac維基頁面列表
- 15. drupal 7 - 維基頁面
- 16. 在python中搜索所有維基百科頁面的短語
- 17. 轉換從Microsoft Word到媒體維基標記樣式
- 18. 媒體維基php代碼中的錯誤
- 19. 是否有可能在維基中翻譯維基頁面?
- 20. 在gitlab中創建維基頁面
- 21. WordPresspress:基於登錄用戶在頁面上顯示媒體文件
- 22. 維基百科頁面的子類別
- 23. 媒體查詢和文本
- 24. 流媒體MimeBodyPart文本
- 25. Django的 - 包括媒體到特定的管理頁面
- 26. 怪異頁面使用媒體查詢
- 27. WordPress媒體URL與頁面URL衝突
- 28. WPF頁面不支持媒體元素
- 29. 基於文本的自動新頁面
- 30. HTML網頁到維基頁面翻譯器
我在我的博客寫了關於這個問題的一次:[中鏈接到MediaWiki模板可憎](http://hewgill.com/journal/條目/ 343最憎惡-的-的mediawiki-模板)。簡介:我發現沒有解析Mediawiki模板的語法和代碼*,除非*爲完全安裝Mediawiki本身。 – 2010-08-26 20:32:03