2016-10-24 5 views
2

나는 Wikipedia:Unusual_articles에서 모든 콘텐츠를 얻으려고 나는이 엔드 포인트 호출하여 테이블 내용의 목록을 얻을 수 있어요 :Wikipedia 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

당신은 두 단계로 action=parse와 미디어 위키 API를 사용하여 모든 페이지 섹션의 내용을 얻을 수 있습니다. 먼저 당신이 페이지에서 모든 섹션을 얻을 수있다 : 당신이 섹션 Americas인덱스가 볼 응답에서

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

=T-2 (T는 매개자 페이지를 의미) 그리고 fromtitle에서 제공 =Wikipedia:Unusual_articles/Places_and_infrastructure . 즉 구문 분석 wikitext 원래 섹션을 제공합니다 -

  • prop=wikitext가 :

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

    : 이제 우리는 함께 섹션의 콘텐츠를 다음 인덱스fromtitle를 사용합니다.

  • prop=text - 위키 텍스트의 구문 분석 된 섹션 텍스트를 제공합니다.
+0

위 api에서 섹션 세부 정보를 가져올 수 있습니다. 섹션 색인을 전달합니다. 하지만 HTML 텍스트를 반환합니다. 나는 평범한 텍스트 만 얻고 싶다. 내가 어떻게 얻을 수 있니? –