MediaWiki API — чем отличаются «opensearch» & amp; ‘query’ и ‘generator’ & amp; ‘list’ в URL вызова API

Я пытаюсь работать с MediaWiki API для проекта на FreeCodeCamp. Я прочитал эти страницы в документации по API:

  1. OpenSearch
  2. Генераторы
  3. Списки
  4. запрос

И до сих пор не ясно, каковы реальные различия, и когда и почему мне нужно использовать каждый из них. Вот три вызова API, которые я сделал, каждый из которых дает немного разные результаты:

  1. en.wikipedia.org/w/api.php?action=opensearch&поиск = Albert

Здесь я получаю массив из 4 элементов, первый из которых является поисковым термином, второй — список заголовков страниц результатов, третий — небольшой фрагмент каждой страницы, а четвертый — URL-адрес каждой страницы.

  1. en.wikipedia.org/w/api.php?action=query&генератор = поиск&gsrsearch = Albert&Формат = JSON

В этом есть generator=searchчто я не понимаю На странице API для генераторов это просто говорит: Get the list of pages to work on by executing the specified query module., что на самом деле не очень полезно. Что это значит?

  1. en.wikipedia.org/w/api.php?action=query&список = поиск&srsearch = Albert&Формат = JSON

Это то же самое, что и предыдущий, за исключением того, что я использую list=search,

Итак, мои вопросы:

  • Между первым и вторым звонками использую action=opensearch а также action=query: каковы реальные различия?

  • Каковы различия между list а также generator?

  • И, наконец, почему при использовании generator=search, gsrprop=snippetне отображает фрагменты: API Sandbox для этого, и почему inprop=url не работает при использовании list=search: API Sandbox для этого

Как видите, оба практически идентичны, за исключением того, что один использует генератор, а другой — список, но оба упоминают inprop = url и snippets (srprop & gsrprop).

1

Решение

opensearch для OpenSearch API. Если вы не реализуете этот API (т.е. вы пишете браузер или поисковик или что-то в этом роде), вы не должны его использовать. list=prefixsearch обеспечивает аналогичную функциональность без синтаксических изысков, необходимых для соответствия требованиям OpenSearch.

Генераторы используются для «передачи» результатов в другой API. list=search а также generator=search предоставит вам тот же набор страниц, но в первом случае информация о страницах будет предоставлена ​​модулем поиска (например, если вы укажете srprop=snippet он будет добавлен во фрагментах), во втором случае он будет предоставлен какими-либо модулями API, которые вы добавляете в prop= параметр (вот почему gsrprop=snippet ничего не делает). Это в основном ярлык для выполнения поискового запроса и последующего запроса некоторых данных для результатов.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]