维基百科类别的文章由id

时间:2014-09-24 17:40:38

标签: java wikipedia wikipedia-api

我想获得维基百科文章的类别列表。我目前使用这个api

http://en.wikipedia.org/w/api.php?action=query&prop=categories&pageids=17566205|39952380&inprop=url&format=xml

但是,我需要超过4M文章的类别,并想知道是否存在此类任务的数据转储。我不需要页面的文本内容,只需要其类别。

谢谢。

1 个答案:

答案 0 :(得分:2)

在MediaWiki数据库架构中,有categorylinks表,其中包含(以及其他)字段cl_from(页面ID)和cl_to(类别名称) :

+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| Field             | Type                         | Null | Key | Default           | Extra                       |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+
| cl_from           | int(10) unsigned             | NO   | PRI | 0                 |                             |
| cl_to             | varbinary(255)               | NO   | PRI |                   |                             |
| cl_sortkey        | varbinary(230)               | NO   |     |                   |                             |
| cl_sortkey_prefix | varbinary(255)               | NO   |     |                   |                             |
| cl_timestamp      | timestamp                    | NO   |     | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| cl_collation      | varbinary(32)                | NO   | MUL |                   |                             |
| cl_type           | enum('page','subcat','file') | NO   |     | page              |                             |
+-------------------+------------------------------+------+-----+-------------------+-----------------------------+

此表的数据可从WikiMedia dumps页面获得,作为SQL转储(例如enwiki-20140903-categorylinks.sql.gz)。