Следующий вызов сканирует две страницы на en.wikipedia.org и возвращает страницы, на которые есть ссылки из них:
Но я не могу определить, какие ссылки встречаются на какой странице. Например, ссылка на nuclear tests
есть на странице Mannequin
, но это не указано в выводе выше. Я хотел бы иметь эту информацию в выводе.
Можно ли это сделать?
Большинство генераторов не предоставляют никакой информации о сгенерированной странице. (См. https://phabricator.wikimedia.org/T263841 несколько связанное обсуждение.) Вам придется превратить его в запрос без генератора. В вашем конкретном примере вы на самом деле не используете его как генератор, поэтому это легко сделать: https://en.wikipedia.org/w/api.php?format=json&formatversion=2&errorformat=plaintext&action=query&prop=links&plnamespace=%2A&pllimit=max&titles=Mannequin%7CResuscitation В других случаях отсутствие генератора может означать, что вам нужно сделать несколько дополнительных запросов.
Генераторы подключаются к другим модулям API; они в основном заменяют параметр titles
. Попробуйте добавить к запросу что-то вроде prop=info
: en.wikipedia.org/w/… или prop=revisions
: en.wikipedia.org/w/…
Наконец-то я добрался до прочтения этой фаб-тредки. Очень полезно, спасибо! Однако мне не ясно, как именно это повлияет на gen=links
. В настоящее время он возвращает pageid
связанной страницы как часть результата. Если RFC реализован, что нужно сделать, чтобы получить исходный идентификатор страницы? Мне непонятно, как RFC решает эту проблему (и пытается ли вообще).
Есть ли смысл спрашивать в фабе? Не хочу нарушать этикет, навязываясь...
Добро пожаловать, варианты использования всегда полезны в RFC. Тем не менее, я намерен продолжить эту тему - я согласен, что идентификатор страницы был чем-то вроде связующего звена в этом обсуждении.
Я изучил это немного больше, это похоже на изрядную работу, поэтому, если не будет найден более убедительный вариант использования или кто-то добровольно это сделает, я сомневаюсь, что он будет изменен.
Спасибо, это имеет смысл. Мне потребуется некоторое время, чтобы пройти через этот фаб-тред. Небольшое дополнение: как использовать опору ссылок в качестве генератора? Опираясь на ваш комментарий, что мой пример на самом деле его не использует.