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. 解析維基媒體api
- 4. 語義媒體維基
- 5. 媒體維基AWC論壇
- 6. 媒體維基JSON響應
- 7. 從Wordpress頁面中的媒體中分離文本
- 8. 將媒體維基文件鏈接到新標籤?
- 9. 在維基頁面
- 10. Apache Stanbol和(語義)媒體維基
- 11. 維基媒體登錄不回授權
- 12. 語義媒體維基沒有安裝
- 13. 如何從維基媒體頁面提取所有圖像鏈接?
- 14. CSS頁面媒體目錄文檔
- 15. Python的管理平臺:維基頁面文字
- 16. 維基百科頁面到頁面的鏈接通過的pageid
- 17. 恢復Trac中的維基頁面
- 18. 機器人與基於休息的呼叫 - 媒體維基
- 19. 在python中搜索所有維基百科頁面的短語
- 20. 如何解析Python中的維基百科頁面?
- 21. drupal 7 - 維基頁面
- 22. Trac維基頁面列表
- 23. Trac,維基頁面繼承
- 24. WordPress的3.5.1無法添加媒體到頁面。媒體庫是空的
- 25. 轉換從Microsoft Word到媒體維基標記樣式
- 26. 媒體維基。功能如何得到論證?
- 27. 媒體維基php代碼中的錯誤
- 28. 是否有可能在維基中翻譯維基頁面?
- 29. 如何僅從維基媒體API獲取文本?以及如何編輯CSS?
- 30. 如何在維基頁面上搜索「文本/內容」?
我在我的博客寫了關於這個問題的一次:[中鏈接到MediaWiki模板可憎](http://hewgill.com/journal/條目/ 343最憎惡-的-的mediawiki-模板)。簡介:我發現沒有解析Mediawiki模板的語法和代碼*,除非*爲完全安裝Mediawiki本身。 – 2010-08-26 20:32:03