Как получить чистый контент Википедии?

Я использую Mediawiki api для получения контента со страниц Википедии. Я написал код, который генерирует следующий запрос (например):

http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=hawaii

Который извлекает только начальный абзац со страницы Википедии о Гавайях.

Проблема в том, что, как вы могли заметить, есть много нерелевантных подстрок, таких как:

"[[Molokai|Moloka{{okina}}i]], [[Lanai|Lāna{{okina}}i]], [[Kahoolawe|Kaho{{okina}}olawe]], [[Maui]] and the [[Hawaii (island)|".

Все эти баркеты [[]] не актуальны , и мне интересно, есть ли какой-нибудь элегантный метод, чтобы вытягивать с таких страниц только «чистый» контент?

Заранее спасибо.


person Community    schedule 09.04.2013    source источник
comment
Вы действительно хотите только первый раздел, или это был просто пример?   -  person svick    schedule 09.04.2013


Ответы (2)


Вы можете получить чистый HTML-текст из Википедии с помощью этого запроса:

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=hawaii

Если вам нужен простой текст без HTML, попробуйте следующее:

https://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=hawaii&explaintext

person Damjan Pavlica    schedule 12.11.2015

попробуйте это:

$relevant = preg_replace('/[[.*?]]/', '', $string);

РЕДАКТИРОВАТЬ: только что нашел это - надеюсь, что это полезно

person verbumSapienti    schedule 09.04.2013
comment
Это также удаляет фактические метки ссылок. - person Evert; 09.04.2013
comment
Спасибо, на самом деле это отвечает моим потребностям, но я создал веб-приложение, поэтому я буду искать аналогичную веб-функцию. - person ; 10.04.2013