본문 바로가기
프로그램

[파이썬] 위키피디아(Wiki) 한글 자료 Dump

by 오디세이99 2022. 8. 22.
728x90
반응형

Wiki 데이터를 전부 Dump 받으려고 시도했습니다.

WikiExtractor를 사용하는 방법이 있는데, 제 PC에서는 에러가 발생해서 사용할 수가 없었습니다.

그래서 다음과 같이 작업을 진행했습니다.

 

1) 아래 Wiki에서 Dump 데이터를 다운 받을 수 있도록 해 두었습니다.

위키백과:데이터베이스 다운로드 - 위키백과, 우리 모두의 백과사전 (wikipedia.org)

 

위키백과:데이터베이스 다운로드 - 위키백과, 우리 모두의 백과사전

위키백과, 우리 모두의 백과사전. 이 문서는 한국어 위키백과의 정보문입니다.이 문서는 정책과 지침은 아니지만, 위키백과의 규범과 관습 측면에서 공동체의 확립된 관행을 설명하고 있습니다

ko.wikipedia.org

 

'여기'(빨간Box)를 클릭합니다.

 

2) 기간 선택 Page에서 원하는 기간을 클릭합니다.

Index of /kowiki/ (wikimedia.org)

 

Index of /kowiki/

 

dumps.wikimedia.org

 

3) 해당 파일을 클릭하면 다운이 시작합니다.

kowiki dump progress on 20220820 (wikimedia.org)

 

kowiki dump progress on 20220820

kowiki dump progress on 20220820 This is the Wikimedia dump service. Please read the copyrights information. See Meta:Data dumps for documentation on the provided data formats. Older versions of the 7zip decoder on Windows are known to have problems with s

dumps.wikimedia.org

 

'다운로드'에 파일이 있는 것을 확인할 수 있습니다.

 

 

4) bz2 압축파일을 읽고 Text 파일로 저장합니다. (테스트를 위해 작은 크기의 파일로 했습니다)

- 70MB 정보 파일은 작업이 가능하나 900MB 파일은 메모리가 많이 소모하고 시간이 오래 걸려 에러가 발생 할 수 있습니다. 주의 바랍니다.

#####################
## bz2 압축 풀기
#####################

import bz2

# bz2 파일 읽기
with open("kowiki-20220820-pages-articles-multistream1.xml-p1p82407.bz2","rb") as f:
    data = f.read()
    decom_data = bz2.decompress(data).decode()
    print(decom_data[:500])   # 내용 확인 하기
    
# text 파일로 저장
f = open('wiki_data.txt','w',encoding='UTF-8')
f.write(decom_data)
f.close()

text 파일을 확인할 수 있습니다.

728x90
반응형

댓글