NLP 프로젝트에 대해서는 Wikipedia에서 무작위로 많은 페이지 (예 : 10000)를 다운로드하려고합니다. 너비 우선 검색 방식으로 링크에 대한 HTML 구문 분석많은 수의 Wikipedia 페이지 받기
- 열고 위키 백과 페이지
- 및
- 반복적으로 열린 링크의 각 페이지를 엽니 다 : 전체 XML 덤프를 다운로드하지 않고, 이것은 내가 생각할 수있는 것입니다 2에서 얻은 페이지
2 단계와 3 단계에서 원하는 페이지 수에 도달하면 종료합니다.
어떻게 할 수 있습니까? 생각할 수있는 더 좋은 아이디어를 제안하십시오.
답 :
# Get 10000 random pages from Wikipedia.
import urllib2
import os
import shutil
#Make the directory to store the HTML pages.
print "Deleting the old randompages directory"
shutil.rmtree('randompages')
print "Created the directory for storing the pages"
os.mkdir('randompages')
num_page = raw_input('Number of pages to retrieve:: ')
for i in range(0, int(num_page)):
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://en.wikipedia.org/wiki/Special:Random')
page = infile.read()
# Write it to a file.
# TODO: Strip HTML from page
f= open('randompages/file'+str(i)+'.html','w')
f.write(page)
f.close()
print "Retrieved and saved page",i+1
위키 백과 직접, 당신은 단지 1000 '오류 페이지'를 얻을 것이다 봇을 사용하여 당신의 페이지를 다운로드하는 것을 허용하지 않습니다. 다른 사이트를 선택하십시오 :-) – Khelben
Ups, 'User-agent', 'Mozilla/5.0'을 추가하여 멋진 다운로드를 허용하십시오. 어쨌든 위키 백과에서 자동으로 페이지를 다운로드하지 마십시오. – Khelben