Извлечение абзацев из API Википедии с использованием PHP cURL - PullRequest
5 голосов
/ 21 мая 2010

Вот что я пытаюсь сделать, используя API Википедии (MediaWiki) - http://en.wikipedia.org/w/api.php

  1. Выполните GET на http://en.wikipedia.org/w/api.php?format=xml&action=opensearch&search=[keyword], чтобы получить список предлагаемых страниц для ключевого слова

  2. Перебирайте каждую предложенную страницу, используя GET для http://en.wikipedia.org/w/api.php?format=json&action=query&export&titles=[page title]

  3. Извлечение всех найденных на странице абзацев в массив

  4. Делать что-то с массивом

Я застрял на # 3. Я могу видеть кучу данных JSON, которые включают между собой "\ n \ n" между абзацами, но по какой-то причине функция PHP explode () не работает.

По сути, я просто хочу взять «мясо» каждой страницы Википедии (не заголовки или любое форматирование, а просто содержимое) и разбить его по абзацам на массив.

Есть идеи? Спасибо!

1 Ответ

1 голос
/ 21 мая 2010

\n\n - это буквально те символы, а не переводы строк. Убедитесь, что вы используете одинарные кавычки вокруг строки в explode:

$parts = explode('\n\n', $text);

Если вы решите использовать двойные кавычки, вам придется экранировать символы \, например:

$parts = explode("\\n\\n", $text);

Примечание: почему вы извлекаете данные в двух разных форматах? Почему бы не использовать только JSON или только XML?

...