当我进行 api 查询时,有时我有几页的列表。例如 http://en.wikipedia.org/wiki/Ask提供了很多页面,我需要网站“Ask.com,一个网络搜索引擎,以前是 Ask Jeeves” 我可以只查询某些类别(“网站” )? 我如何检查每个页面的类别作为响应?谢谢
问问题
45 次
3 回答
1
没有简单的方法可以满足您的要求。你可以这样做:
- 获取页面列表的消歧页面列表。您可以通过列出该页面上的链接 (
action=query&prop=links
) 来做到这一点。 - 从上一步中获取所有页面的类别,并使用它来确定您要查找的页面。这不是那么简单,因为
Ask.com
不是直接在 中Category:Websites
,而是在其子类别之一中。
于 2013-10-10T16:47:07.503 回答
1
我有几页的列表,例如http://en.wikipedia.org/wiki/Ask
问题是你没有得到一个页面列表,你只是得到一个普通页面,它位于disambiguation pages category 中。要获取列表,您需要获取该页面中的链接。
我可以只查询某些类别(“网站”)吗?
不,mediawiki 不支持。
我如何检查每个页面的类别作为响应?
使用该links
属性作为标题列表生成器并获取响应中每个页面的类别。在您的情况下,那将是http://en.wikipedia.org/w/api.php?action=query&titles=Ask&generator=links&prop=categories
(不要忘记continue
查询)。
于 2013-10-10T16:48:17.577 回答
0
如果您对“询问”的“全文搜索”没问题,您可以这样做:
如您所见,“搜索”文本是[询问类别:“在线公司”]
同样的解决方案也可以在: Wikipedia API: how to search an term in a specific category
于 2013-11-15T03:33:55.990 回答