了解维基媒体转储
Understanding wikimedia dumps
我正在尝试解析 latest wikisource dump. More specifically, I would like to get all the pages under the Category:Ballads 页面。为此,我下载了 https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-pages-articles.xml.bz2
转储。在此转储中,相关页面包含除实际链接之外的所有内容:
<page>
<title>Category:Ballads</title>
<ns>14</ns>
<id>115796</id>
<revision>
<id>4753508</id>
<parentid>4003780</parentid>
<timestamp>2014-01-25T16:21:08Z</timestamp>
<contributor>
<username>EmausBot</username>
<id>983607</id>
</contributor>
<minor />
<comment>Bot: Migrating 2 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q8286819]]</comment>
<model>wikitext</model>
<format>text/x-wiki</format>
<text bytes="51" xml:space="preserve">[[Category:Song lyrics]]
[[Category:Poems by form]]</text>
<sha1>43eusqpjj6kaqcp6nl1tcmo4ass36ia</sha1>
</revision>
</page>
<page>
我的问题是,如何获取实际页面内容和该页面中的所有链接?
谢谢!
您下载了错误版本的转储。例如,如果您对类别链接感兴趣,则需要下载 https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-categorylinks.sql.gz。
如果你想要 XML 格式,你需要自己从原始维基文本中解析这些信息。为此,您可以使用 https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-pages-meta-current.xml.bz2.
根据评论编辑:
enwikisource-latest-pages-meta-current.xml
不包含machine-readable类的信息,它只包含当前页面内容的信息。您需要寻找文本 XML 元素,它包含存储在页面中的原始维基文本。通常,在内容的最后,它有这样的东西:
[[Category:American Civil War]]
[[category:American speeches]]
这表明该页面属于“美国公民 War”和“美国演讲”类别。
如果您想要解析的信息,您需要处理 .sql 文件 AFAIK。
我正在尝试解析 latest wikisource dump. More specifically, I would like to get all the pages under the Category:Ballads 页面。为此,我下载了 https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-pages-articles.xml.bz2
转储。在此转储中,相关页面包含除实际链接之外的所有内容:
<page>
<title>Category:Ballads</title>
<ns>14</ns>
<id>115796</id>
<revision>
<id>4753508</id>
<parentid>4003780</parentid>
<timestamp>2014-01-25T16:21:08Z</timestamp>
<contributor>
<username>EmausBot</username>
<id>983607</id>
</contributor>
<minor />
<comment>Bot: Migrating 2 interwiki links, now provided by [[Wikipedia:Wikidata|Wikidata]] on [[d:Q8286819]]</comment>
<model>wikitext</model>
<format>text/x-wiki</format>
<text bytes="51" xml:space="preserve">[[Category:Song lyrics]]
[[Category:Poems by form]]</text>
<sha1>43eusqpjj6kaqcp6nl1tcmo4ass36ia</sha1>
</revision>
</page>
<page>
我的问题是,如何获取实际页面内容和该页面中的所有链接?
谢谢!
您下载了错误版本的转储。例如,如果您对类别链接感兴趣,则需要下载 https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-categorylinks.sql.gz。
如果你想要 XML 格式,你需要自己从原始维基文本中解析这些信息。为此,您可以使用 https://dumps.wikimedia.org/enwikisource/latest/enwikisource-latest-pages-meta-current.xml.bz2.
根据评论编辑:
enwikisource-latest-pages-meta-current.xml
不包含machine-readable类的信息,它只包含当前页面内容的信息。您需要寻找文本 XML 元素,它包含存储在页面中的原始维基文本。通常,在内容的最后,它有这样的东西:
[[Category:American Civil War]]
[[category:American speeches]]
这表明该页面属于“美国公民 War”和“美国演讲”类别。
如果您想要解析的信息,您需要处理 .sql 文件 AFAIK。