[Python] 파이썬 웹크롤링봇 만들기 -1-

in #kr7 years ago (edited)

2017년 말부터 진행하였던 파이썬 웹크롤링 봇 만들기 스터디자료를 공유해보고자 합니다.

매주 한개씩 올리는것을 목표하겠습니다.

  1. Python 환경설정하기
    1.1. Jupyter notebook?
    1.2. Anaconda를 설치하고 Jupyter notebook 실행하기
    1.3. Jupyter notebook 간단하게 파이썬 코드 사용하기

  2. 첫 스크래퍼 만들기
    2.1. First Scraper
    2.2. file로 읽고 쓰기

  3. 암호화폐뉴스사이트 크롤링
    3.1. Feedparser?
    3.2. Coindesk

  4. 파싱툴을 활용한 본문 추출하기
    4.1. Beautifulsoup
    4.2. Lxml

  5. Telegram API를 통한 새글 알리미 만들기
    5.1. Telegram API key 발급받기
    5.2. Python-telegram-bot 라이브러리 사용하기

  6. AWS에서 새글 알림봇 띄우기
    6.1. AWS무료 Instance만들기
    6.2. Terminal에서 Bot 실행하기


1. Python 환경설정하기

1.1. Jupyter notebook

Jupyter notebook은 ipython을 웹베이스로 확장한 것이라고 보시면 됩니다.
그럼 ipython 은? intereactive python 의 줄임말로, python.org 에서 제공하고 있는 python 인터프리터(번역기) 보다 사용하기 편합니다.
데이터 분석에 최적화되어 있는 Jupyter notebook 환경에서 스터디를 진행하겠습니다.

1.2. Anaconda 설치하기

로컬(노트북 or PC)에서 Python 개발환경을 구축해보겠습니다. Anaconda Package를 설치하는것만으로도 쉽게 Jupyter notebook을 설치할 수 있습니다.

아나콘다 배포판이란, 컨티눔(Continnum)사에서 제작한 파이썬 배포판입니다. 뛰어난 완성도로 현재 가장 널리 사용되는 표준 파이썬 배포판이 되었습니다. 패키지(라이브러리들)의 의존성에서 문제를 줄여주어, 패키지 관리가 편한 장점을 갖추고 있습니다..

1.아래 링크로 들어가서 Python3.6 버전을 각자 환경에 맞게(자동선택됨) 다운로드합니다.
https://www.anaconda.com/download/
Anaconda Download

2.설치가 완료되면 메뉴에 Navigator아이콘으로 Anaconda 환경을 실행 할수 있는 GUI창을 띄웁니다.(MacOs 기준)

3.root 환경에 설치되어 있는 라이브러리를 사용하게 되며, Enviroment 탭에서 설치하고 제가가 가능합니다. 여기에 python2.7, python3.5 등 다른 버전의 파이썬 인터프리터를 사용하는 커널 환경을 생성하여 사용할 수 있습니다.
Anaconda 배포판의 경우 pyenv를 내장하여 자체적인 Enviroments를 관리할 수 있습니다. Navigator GUI를 통해서는 콘솔 명령어를 외울 필요 없이 클릭만해도 되어서 편리하게 사용 가능합니다.

  1. 우리가 주로 Anaconda 패키지에서 주로 실행할 프로그램은 Jupyter notebook으로 아래 launch를 눌러 실행합니다.

4.1 기본설정으로 설정되어 있는 브라우저가 띄워지도록 되어 있으나, 간혹 실행되지 않으면 브라우저에서 http://localhost:8888/ 로접속해봅니다.

1.3. Jupyter notebook 간단하게 파이썬 코드 사용하기

  1. 실행 화면은 아래와 같고 우측 메뉴 new-> notebook[Python3] 를 선택하여 jupyter notebook 창을 띠웁니다.

  2. 노트북의 첫화면은 아래 기본 code 입력창이 있고. 해당 입력창에 python 코드를 입력하고 shift+Enter 로 실행 할 수있습니다.(alt+Enter로도 가능하나 조금 차이가 있다, 직접 해보자!)

  3. 셀 위에서 프롬프트가 깜빡이고 있다면 "EDIT MODE", 셀 전체가 선택되어 있으면 "COMMAND MODE" 이다. EDIT모드는 셀 안에서의 입력과 수정을, COMMAND MODE(이하 커맨드모드) 에서는 셀 전체의 실행 혹은 자르기 붙이기, 합치기 등등 을 할 수 있습니다.

  • 파이썬 코드 입력 셀과 마크다운 입력 셀로 전환할 수 있으며, 커맨드모드에서의 단축키는 코드로 전환 "y", 마크다운 셀로의 전환 "m"으로 사용 가능합니다.
  • 첫번째 줄 In[1]은 html 뒤에서 동작하는 python console에서 입력되어 실행된 순서 번호를 뜻하고, Jupyter notebook의 행과 일치 하지 않아도 됩니다.
  • Jupyter notebook의 단축키는 커맨드 모드에서 "h"를 누르면 keymap이 표출되어 확인 가능합니다.
    Help_keepmap
    끝.

다음에는 Jupyter notebook에서 간단한 웹 스크래퍼를 만들어 보도록 하겠습니다.

Sort:  

한주에 하나면 기다리기가 너무 힘듭니다 ㅎ