연구 목적으로 데이터를 얻고 싶으나 실제 기업의 데이터나 사내 데이터의 경우 많은 제약사항으로 연구에 사용되지 못하는 경우가 태반이다. 그래서 웹에 존재하는 데이터를 긁어 데이터셋을 만드는 것을 웹 크롤링이라고 한다.
웹 크롤링을 하는 방법은 여러 가지가 있으나, 여기에선 Python과 Scrapy를 이용한 크롤러를 제작해보도록 하겠다. 모든 설치 과정은 windows 기준이다.
WARNING: 크롤링을 하는 데에 대한 모든 책임은, 크롤러를 실행하는 당사자에게 있음을 밝힌다.
Python 은 편리하고 쉬운 스크립트 언어로 널리 사용되고 있는데, 유독 Python을 사용한 크롤러 모듈들이 많이 개발되어 있다. 그 중 Scrapy는 간단하게!(물론 열심히 공부한 이에게) 크롤링을 할 수 있게 도와준다. 우선 Scrapy 홈페이지 (scrapy.org)에서 관련 정보를 얻자.
중요. Scrapy 는 Python 2.7에 맞게 개발되어 있다. 따라서 3.X버전에서는 작동하지 않는다.
Scrapy를 설치하는 데엔 여러 가지 방법이 있지만, 여기서는 pip를 이용하겠다. pip는 다양한 Python Library를 설치하는 데 유용하게 쓰이는 프로그램이다.
Windows 환경에서 pip를 설치하는 가장 쉬운 방법은 다음 사이트에서 다운받는 것이다.
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pip/
다음에서 적당한 버전을 선택. python 2.7이므로 py2.7이 들어있는 것으로 고르자.
(참고로 이 사이트는 Python 개발에 여러모로 유용하므로 즐겨찾기를 추천한다.)
설치는 next next 를 누르면 금방 끝난다.
Scrapy는 설치하기 전에 몇 가지 요구되는 프로그램들을 먼저 설치해야한다. 하지만 pip와 함께라면 쉽게 설치할 수 있다. (그런데 좀 많고 번거롭다)
Win32OpenSSL
http://slproweb.com/products/Win32OpenSSL.html 에 가서
(1) 자신의 환경에 맞는 Visual C++ 2008 redistributables 를 설치 (이미 설치되어 있을 수도 있다.)
(2) 자신의 환경에 맞는 OpenSSL 을 설치 (Light버전은 X)
(3) 환경설정에서 openssl 의 설치폴더 (기본은 c:\openssl-win32\bin)을 PATH에 추가.
pywin32
http://sourceforge.net/projects/pywin32/files/ 에서 python 버전에 맞게 다운받아 설치
Twisted
http://twistedmatrix.com/trac/wiki/Downloads 에서 OS에 맞게 설치
zope.interface
https://pypi.python.org/pypi/zope.interface에 들어가서 egg파일을 받은 뒤, 커맨드에서 easy_install file.egg 을 입력해 설치
lxml
http://pypi.python.org/pypi/lxml/ =>별도의 다운 없이 pip install lxml 로 설치
pyOpenSSL
https://launchpad.net/pyopenssl 에서 python 버전에 맞게 다운/설치
저 많은 프로그램을 다 설치하였으면 드디어! 커맨드 창에 pip install Scrapy 라고 치고 엔터를 딱! 누르면 설치가 완료된다. 혹시 설치 중에 어려움을 겪으면 http://doc.scrapy.org/en/latest/intro/install.html#intro-install-platform-notes 를 참조.
'Computer > Python' 카테고리의 다른 글
[BeautifulSoup]BeautifulSoup에서 UnicodeEncodeError날 때 (0) | 2015.02.05 |
---|---|
[Scrapy] start_url 부터 긁어야 할 때 (0) | 2014.07.11 |
Eclipse 로 Python 개발하기 - PyDev (0) | 2014.07.05 |