【发布时间】:2020-04-19 11:55:30
【问题描述】:
使用external tool 从转储文件中解析维基百科文章(例如enwiki-20200401-pages-articles-multistream.xml.bz2)
ID,以及作为字符串的类别
例如
{'Title':'The Dark Knight (film)',
'id':4276475,
'Categories':['2008 films',English-language films,'2000s action thriller films',...,]
}
不幸的是,这些类别太细了,我正在尝试获取(例如这里的动作惊悚片),因此,试图在文章列表中找到每个类别的父类别。
提取类别相对简单:
import wptools
page = wptools.page('The Dark Knight (film)')
categories_and_more = page.get_more()
one_category = wptools.page(categories_and_more.data['categories'][0])
但提取所有将此类别视为子类别的类别并不简单。
【问题讨论】:
-
不确定 wptools 公开了什么,但 API 可以采用
pageid参数而不是title。而且,deepcat search 可能是一种更简单(如果更有限)的方法。 -
感谢您的评论,不幸的是,当我尝试查询所有类别时,API 阻止了我太多的请求。我现在正在尝试使用转储文件来提取它。谢谢!
标签: python mediawiki wikipedia