2010-07-26 4 views
1

위키피디아에서 인기있는 기사의 역사에있는 모든 페이지의 콘텐츠를 다운로드하고 싶습니다. 다른 말로하면 하나의 기사에 대한 모든 편집의 전체 내용을 얻고 싶습니다. 이 일을 어떻게 하죠?위키 백과의 기사에 대한 전체 변경 내역을 보려면 어떻게해야합니까?

Wikipedia API를 사용하여이를 수행하는 간단한 방법이 있습니까? 나는 보았고 간단한 해결책으로 튀어 나온 것을 발견하지 못했습니다. 나는 또한 PyWikipedia Bot 페이지 (http://botwiki.sno.cc/w/index.php?title=Template:Script&oldid=3813)에있는 스크립트를 살펴본 결과 아무 것도 찾지 못했습니다. 파이썬이나 자바로 할 수있는 간단한 방법이 가장 좋지만, 데이터를 얻을 수있는 간단한 솔루션을 사용할 수 있습니다.

답변

2

여러 옵션이 있습니다. Special:Export 특수 페이지를 사용하여 페이지 기록의 XML 스트림을 가져올 수 있습니다. 또는 /w/api.php에있는 API를 사용할 수 있습니다. 기록을 가져 오려면 action=query&title=$TITLE&prop=revisions&rvprop=timestamp|user|content 등을 사용하십시오. Pywikipedia는 이것에 대한 인터페이스를 제공하지만, 어떻게 호출해야하는지 마음으로 알지 못합니다. Python을위한 대체 라이브러리 mwclientsite.pages[page_title].revisions()

+0

을 통해 이것을 제공합니다. 그게 내가 찾고 있었던 바로 그거야. – Robbie

0

음, 한 가지 해결책은 Wikipedia XML 덤프를 구문 분석하는 것입니다.

그냥 거기에 넣어 줄 알았는데.

페이지가 하나 인 인 경우 이는 과잉입니다. 그러나 아주 최신 정보가 필요하지 않은 경우 XML을 사용하면 반복되는 네트워크 적중 횟수가 아닌 일회 다운로드라는 이점을 얻을 수 있습니다.

관련 문제