Mediawiki 理解维基媒体转储

Mediawiki 理解维基媒体转储,mediawiki,wikimedia-dumps,Mediawiki,Wikimedia Dumps,我正在试着分析这个问题。更具体地说,我想获得页面下的所有页面。为此,我下载了https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-pages-articles.xml.bz2dump。在此转储中,相关页面包含除实际链接以外的所有内容: 类别:歌谣 14 115796 4753508 4003780 2014-01-25T16:21:08Z 埃马斯博特 983607 Bot:Migrating 2个interwik

我正在试着分析这个问题。更具体地说,我想获得页面下的所有页面。为此,我下载了
https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-pages-articles.xml.bz2
dump。在此转储中,相关页面包含除实际链接以外的所有内容:


类别:歌谣
14
115796
4753508
4003780
2014-01-25T16:21:08Z
埃马斯博特
983607
Bot:Migrating 2个interwiki链接,现在由[[Wikipedia:Wikidata | Wikidata]]在[[d:Q8286819]]上提供
维基文本
text/x-wiki
[[类别:歌词]]
[[类别:形式诗]]
43EUSQPJ6KAQCP6NL1TCMO4ASS36IA
我的问题是,如何获得实际的页面内容和该页面中的所有链接


谢谢大家!

您下载了错误版本的转储文件。例如,如果你对分类链接感兴趣,你需要下载

如果您想要XML格式,您需要自己从原始wikitext解析这些信息。为此,您可以使用

按评论编辑:


enwikisource最新页面meta current.xml
不包含有关类别的机器可读信息,它只包含有关当前页面内容的信息。您需要查找文本XML元素,该元素包含页面中存储的原始wikitext。通常,在内容末尾,它有如下内容:

[[Category:American Civil War]]
[[category:American speeches]]
这表明该页面属于“美国内战”和“美国演讲”类别


如果需要解析的信息,则需要处理.sql文件AFAIK。

谢谢您的回答。我也尝试了MetaXML,得到了同样的结果。我还尝试将sql转储导入sqlite数据库,但出现语法错误。我不希望为此任务运行MySQL。
enwikisource最新页面meta current.xml
没有关于类别本身的信息,但它确实包含文章内容;您需要解析文章内容以获取关于类别的数据。我将更新答案来解释.Ad导入sqlite,这是因为mysql/mariadb SQL风格与sqlite使用的风格不同。我对答案进行了编辑,以解释如何使用meta-xml文件。