2013-03-28 4 views
5

위키 아 페이지의 정보를 가져 와서 앱에 표시하는 Android 앱을 개발 중입니다. 현재 모든 범주를 탐색하고 WebView에서 페이지를 표시하도록 설정 한 응용 프로그램을 갖지만 WebView로 전달하여 값을 줄이는 대신 정보와 형식을 가져오고 싶습니다.MediaWiki를 사용하여 Wikia 페이지에서 텍스트를 가져 오지만 큰 혼란에 빠지면 각 섹션에서 텍스트를 가져올 수있는 더 좋은 방법이 있습니까?

내가 텍스트를 얻기 위해 사용하고 있습니다 것은 : http://scottlandminecraft.wikia.com/api.php?format=xml&action=query&titles=ZackScott&prop=revisions&rvprop=content

내 문제는 텍스트가 다시 큰 덩어리에서 온다, 사람이 내가 태그에서 분석 할 수있는이 더 포맷하는 방법에 관해서 어떤 아이디어가 않습니다 또는 나는 그것을 발견하려고 노력하고있는 나의 시간을 보내고 있냐? 그렇다면 텍스트에서 식별자로 이동하여 필요한 텍스트를 파싱하는 방법을 찾는 것이 더 낫습니다. 더 좋은 방법이 있습니까?

입력 해 주셔서 감사합니다.

+1

난 당신이 "큰 덩어리"라고 부릅니다 표시되지 않습니다 : 예를 들어,이 API 쿼리를 참조하십시오. 페이지의 위키 텍스트를 포함하는 XML 문서입니다. API 호출이 요청한 것입니다. 렌더링 된 HTML 뒤에 어떤 데이터가 있습니까? – Bergi

+0

내가 말했던 "커다란 덩어리"는 내가 이것을 할 때 내가 끌어 당기는 텍스트의 덩어리이다. 나는 페이지에서 원하는 모든 텍스트를 얻는다. 그러나 그 조직은 매우 조직적이지 않다. 나는 확실하지 않다. XML로 구문 분석하기가 더 쉬운 텍스트를 가져 오는 더 좋은 방법이나 다른 형식으로 가서 구문 분석해야하는 경우 여기에 게시 된 다른 사람들처럼 HTML에서 구문 분석 할 수있는 훌륭한 옵션이 제공됩니다. – kikurself

+0

wikisyntax 구문 분석 트리를 원하십니까? xml로 싸지 않은 평범한 위키 텍스트를 원하십니까? – Bergi

답변

11

위키 마크 업을 직접 구문 분석하지 않으려면 구문 분석 된 HTML 버전의 페이지를 검색 한 다음 HTML 구문 분석기 (예 : Hasham에서 권장 한대로 jsoup)를 사용하여 처리하는 것이 가장 쉬운 방법입니다.

단지 (당신에게 탐색 피부에 싸여 페이지의 HTML을 줄 것이다) 정상 위키 사용자 인터페이스를 긁어 외에, 미디어 위키 페이지의 HTML 텍스트 가져 오는 두 가지 방법이 있습니다 :

  1. 은을 사용는 이런 식으로, (JSON/YAML/등 또는) 응답 미디어 위키 API의 XML에 싸여 페이지의 HTML을 반환합니다 action=parse와 API :

  2. 또는 단지 페이지의 HTML을 반환합니다 action=render와 주요 index.php 스크립트를 사용

시를. 질문에서 섹션을 언급 했으므로 action=parse API 모듈은 prop=sections (또는 심지어 prop=sections|text)을 사용하여 페이지의 섹션에 대한 정보를 반환 할 수 있습니다.

+0

당신의 솔루션이 제 것보다 낫습니다. –

1

당신이 HTML 문서를 구문 분석 할 경우 Jsoup는 선택입니다.

+0

http://scottlandminecraft.wikia.com/api.php?format=xml&action=query&titles=ZackScott&prop=revisions&rvprop=content – Bergi

+0

에 HTML 문서가 없습니다. xml은 JSOUP으로 구문 분석 할 수 있습니다. – Hasham

+0

아니요. XML의 경우 HTML 구문 분석기를 사용하지 않습니다. – Bergi