2013-10-10 15 views
0

Когда я делаю запрос api, иногда у меня есть список с несколькими страницами. Например, http://en.wikipedia.org/wiki/Ask дает много страниц, мне нужен сайт «Ask.com, веб-поисковая система, ранее Ask Jeeves» Могу ли я сделать запрос только для определенной категории («веб-сайты»)? Как я могу проверить категорию для каждой страницы в ответ? Спасибоmediawiki api. как выбрать страницу из ответа

ответ

1

Существует нет тривиального способа делать то, что вы просите. Вы могли бы сделать что-то вроде этого:

  1. Получить список страниц списка значений значений. Вы можете сделать это, указав ссылки на этой странице (action=query&prop=links).
  2. Получите категории всех страниц предыдущего шага и используйте это, чтобы решить, какой из них вы ищете. Это не так просто, потому что Ask.com не находится непосредственно в Category:Websites, он находится в одной из подкатегорий.
1

У меня есть список с несколькими страницами, например http://en.wikipedia.org/wiki/Ask

Проблема заключается в том, что вы не получаете список страниц, вы просто получаете обычную страницу, которая в disambiguation pages category , Чтобы получить список, вам нужно получить links in that page.

Могу ли я сделать запрос только для определенной категории («сайты»)?

Нет, mediawiki не поддерживает это.

Как я могу проверить категорию для каждой страницы в ответ?

Используйте links свойство как title list generator и получить categories of each page в ответ. В вашем случае это будет http://en.wikipedia.org/w/api.php?action=query&titles=Ask&generator=links&prop=categories (не забудьте указать continue запрос).

0

Если все в порядке с «полнотекстового поиска» для «спросить», вы можете сделать это так:

http://en.wikipedia.org/w/api.php?format=json&action=query&generator=search&gsrsearch=ask%20incategory:%22Online%20companies%22&prop=info

Как вы можете видеть, «поиск» текст [спросить incategory : "Интернет компании"]

Такое же решение также можно увидеть по адресу: Wikipedia API: how to search for a term in a specific category

Смежные вопросы