Wiktionary是一本涵蓋多種語言的wiki詞典。它甚至有翻譯。我有興趣解析它並玩數據,有沒有人做過這樣的事情?有沒有我可以使用的圖書館? (最好是Python。)是否有人解析過維基文庫?
回答
維基語言級別上MediaWiki,其中has an API。
API文檔的其中一個子頁面是Client code, which lists some Python libraries。
我曾經一度下載了一個wiktionary轉儲文件,試圖收集斯拉夫語言的單詞和定義。我使用elementtree通過轉儲的xml文件找到它。我會避免試圖抓取或抓取網站,並下載wikimedia提供的wiktionary的xml轉儲。轉到wikimedia downloads,查找英文wiktionary轉儲(enwiktionary)並轉到最近的轉儲。你可能會需要pages-articles.xml.bz2文件,這只是文章內容,沒有歷史或評論。用python中你喜歡的任何xml處理庫解析它。我個人更喜歡elementtree。祝你好運。
你是怎麼使用elementtree的?據我所見,大部分數據都不是xml標記的,也就是說,你得到的所有東西都在
我在解析德語wiktionary時遇到了一些問題。我最終把它寫得太難了,但是在放棄之前我把我的(根本不整理)代碼放在https://github.com/benreynwar/wiktionary-parser。儘管編輯們使用了一些慣例,但除了同伴監督之外,並沒有強制執行這些慣例。模板的多樣性以及頁面中的所有拼寫錯誤都會使解析變得非常具有挑戰性。
我認爲問題在於他們已經使用了與wiktionary相同的系統,這對於易於編輯人員使用非常有用,但不適用於更加結構化的wiktionary內容。這是一個恥辱,因爲如果可以很容易地解析wiktionary,它將是一個非常有用的資源。
Just saw當看其他slashdot wiktionary問題時。它可能是有用的。 http://en.wikipedia.org/wiki/Ubiquitous_Knowledge_Processing_Lab#Wiktionary_API – 2011-05-06 04:57:04
此項目現託管在https://github.com/benreynwar/wiktionary-parser。 它仍然被忽視。 – 2013-10-18 00:15:48
謝謝,wordnik對我來說非常完美。我有一個[瘦Python客戶端](https://github.com/jabbalaci/jabbapylib/blob/master/jabbapylib/dictionary/wordnik.py)來獲取單詞的定義和示例。 – Jabba 2012-03-29 09:36:49
你是否認識到來自維基媒體的轉儲是故意偏袒的?事實上,它也存在着惡意的侷限性,因爲這個轉儲遺漏了非常基本且經常使用的詞語,同時包含了許多我們許多人甚至不知道存在的詞語。 – InformedA 2016-07-20 11:18:33
@InformedA爲「故意部分」的鏈接,請。如果您發現某個頁面出現在wiki上,但不在轉儲中,您是否[已報告該錯誤](https://phabricator.wikimedia.org/maniphest/task/edit/form/1/?projects=Dumps-代)? – Nemo 2017-04-28 09:32:15
我剛剛從像德國轉儲組成的單詞列表:
bzcat pages-articles.xml.bz2 | grep '<title>[^[:space:][:punct:]]*</title>' | sed 's:.*<title>\(.*\)</title>.*:\1:' > words
我認爲這個問題是關於解析wiki內容而不是XML的。 – 2013-10-15 12:28:44
歡迎您與MySQL發揮解析維基詞典數據庫。 有由Java編寫的分析器建立兩個數據庫(英文維基和俄文維基):http://wikokit.googlecode.com
這可能是迄今爲止所有寫入的最有希望的選項。 +1 – BlackVegetable 2014-09-06 22:46:40
這取決於你需要多徹底解析它。如果你只需要用一種語言(定義,詞源,發音,共軛等)來獲取一個詞的所有內容,那麼這很容易。我之前做過這件事,但是,如果你需要將它解析爲內容的不同組成部分(例如只是得到一個詞的定義),那麼它將更具挑戰性。在語言的單詞的維基條目沒有預先定義的模板,這樣一個標題可以是任何東西,從<h3>
到<h6>
,各部分的順序可能混亂,他們可重複性強等
是的,很多人解析了維基文庫。您通常可以在Wiktionary-l mailing list archives中找到過去的經驗。
其他答案未提及的項目是DBPedia的Wiktionary RDF extraction。
解析了數十個其他研究項目Wiktionary:您可以在維基媒體研究通訊的最近Wiktionary special和other issues中找到一些示例。
Recently有人還做了一個English Wiktionary REST API其中包括一個未指定的維基文庫數據子集;未來的計劃還不得而知。
- 1. 解析維基文庫
- 2. 是否有解析AutoCAD文件的庫?
- 3. 是否有精心設計,維護的Java解析RSS解析庫?
- 4. Java org.w3c.dom:是否有Java解析器庫?
- 5. 是否有任何HTML解析庫?
- 6. 解析維基媒體api
- 7. 解析XML維基百科
- 8. 解析維基API內容
- 9. 解析維基百科類
- 10. 維基百科解析器
- 11. 是否有HTML HTML解析器的人類文本語法?
- 12. JSON解析器推薦:是否有JSON解析器維護秩序?
- 13. 是否有用於解析Excel 2007文件的Java開源庫?
- 14. 是否有解析.MSG文件的免費庫?
- 15. 是否有解析gettext PO文件的Java庫?
- 16. 是否有可能在維基中翻譯維基頁面?
- 17. 是否有一個好的基於Javascript的HTML解析庫可用?
- 18. 蟒蛇2.x的維基解析
- 19. 解析XML維基轉儲ver0.4剛韌
- 20. 解析維基百科Pagelink數據集
- 21. 解析維基百科XML和Java
- 22. 解析維基百科頁表問題
- 23. 解析維基百科介紹PHP
- 24. 解析維基百科轉儲
- 25. 解析出維基百科的IPAc
- 26. 用Javascript解析維基模板調用
- 27. 刮和解析維基百科頁面
- 28. 維基API無法解析JSON
- 29. python3解析和維基百科頁面
- 30. 如何解析一些維基標記
http://en.wiktionary.org/wiki/Wiktionary:Parsing – katrielalex 2010-07-29 15:39:20