2015-10-14 106 views
0

我知道這個問題可能比它看起來更簡單,但在閱讀大量材料後,我感到非常困惑。因此,我已經下載了一個維基百科轉儲(這一個是精確的:enwiktionary-20151002-pages-articles-multistream.xml.bz2 - 這應該包含所有英文維基詞典的文章)。我想要的是通過標題獲取特定文章的內容(與在維基百科中搜索它的方式相同)。從維基百科獲取文章XML轉儲 - 通過標題

注:我不想要HTML(由維基百科產生)。我想要「真實」的內容,就像你在維基百科中「編輯」任何文章時看到的一樣。

幾句話:

  • 搜索的標題,例如文章「書」
  • 獲取內容

我應該如何着手呢?


P.S.我不是在尋找一種語言特定的解決方案。我只需要一些關於如何處理這個問題的想法。

+1

不熟悉維基百科轉儲語法,你可以發佈一個樣本或鏈接到文檔 – Steve

+0

隨着差不多12k代表你應該知道這些問題屬於**「主要基於意見的」**類別 –

+0

我會開始通過解壓'bz2'文件,因爲似乎沒有辦法以壓縮格式處理它 – RiggsFolly

回答

0

如果你只後的信息的短位的時候,你可以使用維基百科的JSON API ... https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=book

如果你想要完整的文章,那麼我相信你可以使用這個: https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&explaintext=&titles=book

這兩個來源的區別在於,第一個我們設置了'exintro',第二個鏈接我們設置了'exsertintext'。這些部分使用「\ n \ n \ n ===」和「=== \ n」分開。有了這些信息,您可以挑出一個部分的結尾,並找到一個新部分的開始部分以及部分名稱。

欲瞭解更多信息,請https://en.wikipedia.org/w/api.php?action=help&modules=query%2Bextracts

抱歉,這不是XML。

+0

這個問題在於它利用了在線維基百科。或者它需要一個準完整的離線mediawiki安裝。下載轉儲並希望脫機的原因是速度。 (我需要執行一些大規模的處理) –

+1

@ Dr.Kameleon好吧,它似乎提供了SQL轉儲以及 - 我會建議使用它,然後使用常規的SQL查詢。用這麼龐大的數據集來解析XML會更有效率,除非你有很多內存並且可以將整個內容讀入內存 – Steve