2013-09-23 51 views
1

我使用维基百科API搜索包含Template:Death date and age模板的所有文章的维基百科。这可以通过以下要求使用维基百科api搜索多个模板

http://en.wikipedia.org//w/api.php?action=query&list=embeddedin&format=xml&eititle=Template%3ADeath%20date%20and%20age&eilimit=10

我想修改我的查询,以便使用两个或多个模板进行搜索来完成。例如,我想要检索BOTHTemplate:Death date and age”和“Template:Birth date”的文章。我怎样才能做到这一点?

回答

1

eititle参数只接受单个值,并且AFAIK没有其他方式来执行此操作。这意味着您必须为每个模板提出一个请求,然后将其合并到您的代码中。

另一种选择是访问the templatelinks table。您可以通过下载templatelinks.sqldump或访问Tool Labs来获得,您可以从中直接访问数据库。

1

对于这样的查询,最好使用DBpedia,因为api并不真正支持你正在做的查询。

+0

...或Freebase。这是一个相对简单的MQL查询。 –

+0

但DBpedia没有真正跟踪模板,不是吗? – svick

+0

所以,答案是我不能使用带有多个参数的查询,同时使用“embeddedin”搜索模板? – cateof