파이썬으로 웹페이지 단어 세기

파이썬을 사용하여 위키피디아 검색어를 입력하고 나온 결과 페이지의 글자수를 세어주는 스크립트 입니다.데이터 과학자, 무엇을 배울 것인가라는 책에서 코드를 가져와서 조금 수정 하였습니다.

# -*- coding: utf-8 -*-
# 파이썬2.7 버전 기준으로 작성되어있음
import urllib2

# 접속할 URL
base_url = 'http://ko.wikipedia.org/wiki/'
# 사용자 에이전트
ua = 'Mozilla/5.0(Windows NT 6.1; WOW64) AppleWebKit/535.7(KHTML,like Gecko) Chrome/16.0.912.75 Safari/535.7'
# 취득하고 싶은 항목
queries = ['포유류', '파충류', '조류', '어류', '양서류']

result = {}
# URL의 내용 취득하기

for q in queries:
    # URL 인코딩하기
    url = base_url + urllib2.quote(q)
    # Request 객체 작성하기
    req = urllib2.Request(url, headers={'User-Agent': ua})
    try:
        # 리퀘스트 열기
        html = urllib2.urlopen(req).read()
        # 결과의 문자 수를 result에 부여하기
        result[q] = len(html)
    # HTTP 에러 시의 예외 처리
    except urllib2.HTTPError, e:
        print 'HTTP 에러'
        print '에러 코드: ', e.code
    # URL 에러 시의 예외 처리
    except urllib2.URLError, e:
        print 'URL 에러'
        print '이유: ', e.reason

# 각 항목의 문자 수를 표시하기
# 단어수가 많은 것으로 정렬
ord_result = sorted(result.items(), key=lambda x: x[1], reverse=True)
for q in ord_result:
    print('쿼리:' + q[0] + ', 문자 수:' + str(q[1]))

실행 결과

실행하면 아래와 같이 각각의 쿼리와 문자수를 확인할 수 있습니다.

쿼리:어류,문자 수:286300
쿼리:포유류,문자 수:94588
쿼리:양서류,문자 수:77480
쿼리:파충류,문자 수:73183
쿼리:조류,문자 수:21144