2012-05-24 3 views
2

위키피디아 페이지를 파이썬 라이브러리 또는 라이브러리와 함께 토큰 화하고 싶습니다. 나는 테이블과 목록에 가장 관심이 많다. 이 데이터를 Postgres 또는 Neo4j로 가져올 수 있기를 원합니다. 통화 이 http://en.wikipedia.org/wiki/Eurovision_Song_Contest_2008#Final 위키 피 디아 페이지를 토큰화할 수있는 파이썬 라이브러리

  • 목록 : 각 국가가 유로 비전 송 2008 년 대회에 서로를 수여

    : 전 세계의 태양 광 발전소의 http://en.wikipedia.org/wiki/List_of_circulating_currencies
  • 목록 :와 국가하는 그들은 (다 대다 관계를) 순환

    이들 각각의 출처는 위키 피 디아의 마크 업 브랜드로 작성되어 있습니다. 마크 업 브랜드는이를 렌더링하는 데 사용됩니다. 원시 데이터 형식에 사용되는 많은 위키 백과 관련 태그와 구문이 있습니다. BeautifulSoup 만 사용하면 HTML이 거의 더 쉬운 솔루션이 될 수 있습니다.

    더 나은 토큰 화 방법은 누구나 알고 계십니까? 내가 최종 HTML을 가져 와서 BeautifulSoup로 구문 분석하면 바퀴를 다시 만들 것이라고 생각합니다. 또한 이러한 페이지를 XML로 출력 할 수있는 방법을 찾으면 테이블 데이터가 충분히 토큰 화되지 않아 추가 처리가 필요합니다.

  • +0

    [여기] (http://www.mediawiki.org/wiki/Alternative_parsers)는 위키 구문에 대한 일부 구문 분석기입니다. 일부 Python 솔루션이 있지만 더 처리 할 수있는 중간 표현을 생성하는 솔루션을 선택해야합니다. [mediawiki-parser] (https://github.com/peter17/mediawiki-parser)는 예를 들어 유망 해 보인다. – schlamar

    +0

    [다음은 XML로 데이터를 가져 오기 위해 mediawiki API를 사용하는 예제입니다.] (http://stackoverflow.com/a/8045486/4279) 참고 : 마크 업을 토큰 화하지 않습니다 (몇 가지 특정 사례의 경우 더 간단 할 수도 있음). 일부 미디어 위키 마크 업 구문 분석기의 토큰 화 된 출력이 아닌 원시 텍스트를 처리합니다. – jfs

    답변

    2

    위키 백과는 MediWiki를 기반으로하므로 사용자가 이용할 수있는 api가 있습니다. 사용할 수있는 Special:Export도 있습니다.

    원시 데이터를 얻은 후에는 mwlib을 실행하여 파싱 할 수 있습니다.

    +0

    고마워요.하지만 저는 이미 페이지를 토큰 화 한 파이썬 라이브러리를 따랐습니다. 이 API에서 시작한다면, 나는 많은 양의 코드를 작성할 것입니다. 파이썬 -wikitools와 같은 것을 사용한다면 여전히 많은 구문 분석이 필요합니다. –

    +0

    참고 : mwlib는 코드를 호스팅하지 않으려는 경우 사용할 왕실 엉덩이에 통증이 있습니다 (불필요한 마크 업을 제거하려는 경우 해당 위치에있었습니다.) 시도해 보았습니다. 여전히 춥고 땀을 흘리며 생각하고 있습니다. – Crisfole

    +0

    데우기 주셔서 감사합니다 Chris : D –

    1

    이것은 웹 방향을 의미 론적으로 변경하는 것이지만 DBPedia은 SPARQL을 사용하여 위키 백과 데이터를 쿼리하는 부분 (커뮤니티 변환 노력)을 허용합니다. 따라서 이론적으로는 필요한 데이터를 추출하는 것이 간단하지만 RDF 트리플을 다루는 것은 번거로울 수 있습니다.

    또한 DBPedia에 아직 관심이있는 데이터가 포함되어 있는지 여부는 알 수 없습니다.

    +0

    감사합니다. 표정 데이터가 포함되어 있지 않습니다. 콘텐츠보다는 기사의 구조에 더 관심이있는 것 같습니다. http://dbpedia.org/ 페이지/Eurovision_Song_Contest_2008에는 http://en.wikipedia.org/wiki/Eurovision_Song_Contest_2008#Final –

    +0

    에서 찾을 수있는 점수가 부여 된 테이블이 없습니다. @MarkL 자세히 보시면 정확한 것입니다.나는 프로젝트 참여자가 사물을 분류하고 사물 간의 관계를 명시 적으로 (시맨틱 웹과 관련된) 명시 적으로 데이터 세트보다 관심을 가질 것이라고 생각한다. – jhonkola

    관련 문제