Захватите содержание статьи Wikipedia - PullRequest
0 голосов
/ 06 июля 2011

Я хочу получить содержимое статьи в Википедии, используя реальный API.Теперь я хорошо знаю о action=render и action=raw, но я хочу максимально возможную версию в виде простого текста.Без форматирования, без ссылок, желательно без шаблонов, без ссылок и без оглавления.Чтобы привести пример, вот выдержка из SO-страницы:

<p><b>Stack Overflow</b> is a <a href="http://en.wikipedia.org/wiki/Website" title="Website">website</a>, part of the <a href="http://en.wikipedia.org/wiki/Stack_Exchange_Network" title="Stack Exchange Network">Stack Exchange Network</a>,<sup id="cite_ref-blog_legal_1-0" class="reference"><a href="#cite_note-blog_legal-1"><span>[</span>2<span>]</span></a></sup><sup id="cite_ref-stackapps_legal_2-0" class="reference"><a href="#cite_note-stackapps_legal-2"><span>[</span>3<span>]</span></a></sup> featuring questions and answers on a wide range of topics in <a href="http://en.wikipedia.org/wiki/Computer_programming" title="Computer programming">computer programming</a>.<sup id="cite_ref-secrets_3-0" class="reference"><a href="#cite_note-secrets-3"><span>[</span>4<span>]</span></a></sup><sup id="cite_ref-slashdot_4-0" class="reference"><a href="#cite_note-slashdot-4"><span>[</span>5<span>]</span></a></sup><sup id="cite_ref-google-tech-talks_5-0" class="reference"><a href="#cite_note-google-tech-talks-5"><span>[</span>6<span>]</span></a></sup></p> 

Это после всех шаблонов и прочего.Я хочу полностью вырезать их и найти, где начинается настоящая статья.Затем мне нужно еще побольше об этом сказать:

Stack Overflow - это веб-сайт, входящий в сеть Stack Exchange Network, на котором представлены вопросы и ответы по широкому кругу тем в компьютерном программировании.

Как я могу вырезать шаблоны и форматирование вики, чтобы получить необработанное содержимое статьи самостоятельно?Это будет реализовано в PHP.

1 Ответ

1 голос
/ 06 июля 2011

В Википедии и mediawiki api есть все, что вы ищете. Для примера SO вот страница SO wiki api .

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

Надеюсь, это поможет!

...