2016-10-24 8 views
2

Я пытаюсь получить все содержимое из Wikipedia:Unusual_articles и я могу получить список содержимого таблицы, вызвав эту конечную точку:Как получить данные в таблице из Википедии API?

https://en.wikipedia.org/w/api.php?action=parse&format=json&prop=sections&page=Wikipedia:Unusual_articles 

и данные, которые я получил обратно выглядеть примерно так:

{ 
    title: "Wikipedia:Unusual articles", 
    pageid: 154126, 
    sections: [ 
     { 
      toclevel: 1, 
      level: "2", 
      line: "Places and infrastructure", 
      number: "1", 
      index: "T-1", 
      fromtitle: "Wikipedia:Unusual_articles/Places_and_infrastructure", 
      byteoffset: null, 
      anchor: "Places_and_infrastructure" 
     }, 
     { 
      toclevel: 2, 
      level: "3", 
      line: "Americas", 
      number: "1.1", 
      index: "T-2", 
      fromtitle: "Wikipedia:Unusual_articles/Places_and_infrastructure", 
      byteoffset: null, 
      anchor: "Americas" 
     }, 
... 

Но я не могу получить содержание определенного раздела. Например, под Americas приведен список таблицы со ссылкой и краткое описание, но есть ли способ получить ссылку и краткое описание из API?

table

+0

Я бы предложил прочитать документацию по API и выяснить, какой вызов API даст вам контент статьи. – miken32

+0

Ваш лучший выбор - это, вероятно, разобрать HTML-таблицу. Вызов API почти прав, вы просто используете неправильное свойство. – Tgr

+0

@Tgr Какие реквизиты я должен использовать, чтобы получить таблицу html? –

ответ

2

Вы можете получить содержание каждого раздела страницы с помощью API MediaWiki с action=parse в два этапа. Во-первых, вы должны получить все разделы со страницы с:

https://en.wikipedia.org/w/api.php?action=parse&prop=sections&page=Wikipedia:Unusual_articles 

Из ответа вы видите, что раздел Americas имеет индекс =T-2 (T означает включена через страницу) и происходит от fromtitle =Wikipedia:Unusual_articles/Places_and_infrastructure , Теперь мы используем эти индексов и fromtitle, чтобы получить содержание раздела с:

https://en.wikipedia.org/w/api.php?action=parse&page=Wikipedia:Unusual_articles/Places_and_infrastructure&section=2&prop=... 

где:

  • prop=wikitext - дает оригинальный раздел, который был вики-текст разобран.
  • prop=text - текст синтаксического разбора текста wikitext.
+0

Я могу получить детали раздела сверху api. путем указания индекса секции. , но он возвращает html-текст. Я хочу получить только обычный текст. как я могу его получить? –