게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
파이썬 강좌? 네이버 웹툰 저장하기 #2
게시물ID : computer_69010짧은주소 복사하기
작성자 : Ksana
추천 : 4
조회수 : 2133회
댓글수 : 2개
등록시간 : 2012/12/18 08:30:24

주의 사항!
사실 고민을 많이 했습니다. 저작권이 걸린 매체를 가지고 물의를 일으키지는 않을까 해서요.

분명히 밝힙니다. 본 문서는 python을 파이썬을 학습에 조금이나마 도움을 주기 위한 목적으로만 작성되었습니다. 수집한 각 웹툰은 저작권이 허용하는 범위 안에서만 이용하십시오. 웹툰의 감상은 웹사이트를 통해 하시기 바랍니다. 이 문서를 보시는 분들의 상식을 믿겠습니다.

 

 

1. 웹페이지 소스 얻어오기

주소 체계에 대해 이해했으면 이제 실습을 하도록 하지요. 이 장에서 여러분들은 웹브라우저가 아닌 직접 작성한 프로그램을 통해 웹 페이지에 접속해보게 됩니다. 프로그램에 웹페이지 주소를 넣으면, 웹페이지의 HTML 코드를 얻는 거지요. 파이썬으로는 놀라울 정도로 간결하게 이 일을 할 수 있습니다.

 

1.1. 인터프리터 열어서 맛보기

파이썬 인터프리터를 열어보세요. 그리고 다음과 같이 입력해보세요.

 

import urllib2
print urllib2.urlopen('http://www.google.com/').read()

 

구글의 소스 코드가 출력되어 나올 것입니다. 전 처음에 파이썬으로 단 2줄만에 웹페이지를 얻어올 수 있다는 사실에 충격 먹었었는데, 여러분들은 어떠시나요? 정말 간단하지요? 이제 http://www.google.com/ 대신에 웹툰 페이지를 입력해서 HTML 소스 코드가 나오는지 확인해보세요.

 


1.2. 스크립트 작성하기

텍스트 편집기를 하나 열어서, 좀 더 정리된 상태의 스크립트로 편집해 보겠습니다. 텍스트 편집기는 아무 거나 써도 상관없지만, 그래도 쓰기 편리한 것이 좋습니다. 저는 Notepad++를 추천합니다. 기능도 훌륭하고, 무료입니다.

gethtml.py

    # -*- coding: cp949 -*-
    # 코드페이지를 지정합니다. 파이썬 스크립트 시작에 반드시 삽입해주세요.
    # 한글 윈도우면 'cp949', 리눅스면 보통 'utf-8'을 씁니다.
    import urllib2, sys
     
    # filename으로 contents를 기록합니다.
    def savefile(contents, filename):
        f = open(filename, 'w')
        f.write(contents)
        f.close()
     
    # url의 문서(HTML)를 읽어 리턴합니다.
    def gethtml(url):
        response = urllib2.urlopen(url)
        return response.read()
     
    # 메인함수
    def main(argv):
        if len(argv) != 3:
            print 'Usage: gethtml.py <url> <savefile>'
            return 1
     
        url      = argv[1]
        savefilename = argv[2]
     
        # url에 접근해서 파일 내용(HTML)을 얻어옴
        html     = gethtml(url)
     
        # 출력해서 확인
        # print html
     
        # HTML을 파일로 저장
        savefile(html, savefilename)
     
        # 성공적으로 종료
        return 0
     
    # 파이썬은 스크립트 언어이므로 C/C++와 같이 main함수를 먼저 실행하지 않습니다.
    # 본 파일을 실행했을 때 main() 함수가 실행되기 위한 처리를 직접 해야 합니다.
    if __name__ == '__main__':
        sys.exit(main(sys.argv))

조금 내용을 덧붙였습니다. URL과 문서를 저장할 파일 이름을 인자로 넘기면, URL의 문서를 읽어들여 파일 이름으로 저장하는 간단한 프로그램입니다. 명령 프롬프트에서 아래와 같이 실행하면 됩니다.

python gethtml.py http://www.google.com google.html

전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호