2017๋
๋ง๋ถํฐ ์งํํ์๋ ํ์ด์ฌ ์นํฌ๋กค๋ง ๋ด ๋ง๋ค๊ธฐ ์คํฐ๋์๋ฃ๋ฅผ ๊ณต์ ํด๋ณด๊ณ ์ ํฉ๋๋ค.
๋งค์ฃผ ํ๊ฐ์ฉ ์ฌ๋ฆฌ๋๊ฒ์ ๋ชฉํํ๊ฒ ์ต๋๋ค.
Python ํ๊ฒฝ์ค์ ํ๊ธฐ
1.1. Jupyter notebook?
1.2. Anaconda๋ฅผ ์ค์นํ๊ณ Jupyter notebook ์คํํ๊ธฐ
1.3. Jupyter notebook ๊ฐ๋จํ๊ฒ ํ์ด์ฌ ์ฝ๋ ์ฌ์ฉํ๊ธฐ
์ฒซ ์คํฌ๋ํผ ๋ง๋ค๊ธฐ
2.1. First Scraper
2.2. file๋ก ์ฝ๊ณ ์ฐ๊ธฐ
์ํธํํ๋ด์ค์ฌ์ดํธ ํฌ๋กค๋ง
3.1. Feedparser?
3.2. Coindesk
ํ์ฑํด์ ํ์ฉํ ๋ณธ๋ฌธ ์ถ์ถํ๊ธฐ
4.1. Beautifulsoup
4.2. Lxml
Telegram API๋ฅผ ํตํ ์๊ธ ์๋ฆฌ๋ฏธ ๋ง๋ค๊ธฐ
5.1. Telegram API key ๋ฐ๊ธ๋ฐ๊ธฐ
5.2. Python-telegram-bot ๋ผ์ด๋ธ๋ฌ๋ฆฌ ์ฌ์ฉํ๊ธฐ
AWS์์ ์๊ธ ์๋ฆผ๋ด ๋์ฐ๊ธฐ
6.1. AWS๋ฌด๋ฃ Instance๋ง๋ค๊ธฐ
6.2. Terminal์์ Bot ์คํํ๊ธฐ
Jupyter notebook์ ipython์ ์น๋ฒ ์ด์ค๋ก ํ์ฅํ ๊ฒ์ด๋ผ๊ณ ๋ณด์๋ฉด ๋ฉ๋๋ค.
๊ทธ๋ผ ipython ์? intereactive python ์ ์ค์๋ง๋ก, python.org ์์ ์ ๊ณตํ๊ณ ์๋ python ์ธํฐํ๋ฆฌํฐ(๋ฒ์ญ๊ธฐ) ๋ณด๋ค ์ฌ์ฉํ๊ธฐ ํธํฉ๋๋ค.
๋ฐ์ดํฐ ๋ถ์์ ์ต์ ํ๋์ด ์๋ Jupyter notebook ํ๊ฒฝ์์ ์คํฐ๋๋ฅผ ์งํํ๊ฒ ์ต๋๋ค.
๋ก์ปฌ(๋ ธํธ๋ถ or PC)์์ Python ๊ฐ๋ฐํ๊ฒฝ์ ๊ตฌ์ถํด๋ณด๊ฒ ์ต๋๋ค. Anaconda Package๋ฅผ ์ค์นํ๋๊ฒ๋ง์ผ๋ก๋ ์ฝ๊ฒ Jupyter notebook์ ์ค์นํ ์ ์์ต๋๋ค.
์๋์ฝ๋ค ๋ฐฐํฌํ์ด๋, ์ปจํฐ๋(Continnum)์ฌ์์ ์ ์ํ ํ์ด์ฌ ๋ฐฐํฌํ์ ๋๋ค. ๋ฐ์ด๋ ์์ฑ๋๋ก ํ์ฌ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ ํ์ค ํ์ด์ฌ ๋ฐฐํฌํ์ด ๋์์ต๋๋ค. ํจํค์ง(๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ค)์ ์์กด์ฑ์์ ๋ฌธ์ ๋ฅผ ์ค์ฌ์ฃผ์ด, ํจํค์ง ๊ด๋ฆฌ๊ฐ ํธํ ์ฅ์ ์ ๊ฐ์ถ๊ณ ์์ต๋๋ค..
1.์๋ ๋งํฌ๋ก ๋ค์ด๊ฐ์ Python3.6 ๋ฒ์ ์ ๊ฐ์ ํ๊ฒฝ์ ๋ง๊ฒ(์๋์ ํ๋จ) ๋ค์ด๋ก๋ํฉ๋๋ค.
https://www.anaconda.com/download/
2.์ค์น๊ฐ ์๋ฃ๋๋ฉด ๋ฉ๋ด์ Navigator์์ด์ฝ์ผ๋ก Anaconda ํ๊ฒฝ์ ์คํ ํ ์ ์๋ GUI์ฐฝ์ ๋์๋๋ค.(MacOs ๊ธฐ์ค)
3.root ํ๊ฒฝ์ ์ค์น๋์ด ์๋ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๊ฒ ๋๋ฉฐ, Enviroment ํญ์์ ์ค์นํ๊ณ ์ ๊ฐ๊ฐ ๊ฐ๋ฅํฉ๋๋ค. ์ฌ๊ธฐ์ python2.7, python3.5 ๋ฑ ๋ค๋ฅธ ๋ฒ์ ์ ํ์ด์ฌ ์ธํฐํ๋ฆฌํฐ๋ฅผ ์ฌ์ฉํ๋ ์ปค๋ ํ๊ฒฝ์ ์์ฑํ์ฌ ์ฌ์ฉํ ์ ์์ต๋๋ค.
Anaconda ๋ฐฐํฌํ์ ๊ฒฝ์ฐ pyenv๋ฅผ ๋ด์ฅํ์ฌ ์์ฒด์ ์ธ Enviroments๋ฅผ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. Navigator GUI๋ฅผ ํตํด์๋ ์ฝ์ ๋ช
๋ น์ด๋ฅผ ์ธ์ธ ํ์ ์์ด ํด๋ฆญ๋งํด๋ ๋์ด์ ํธ๋ฆฌํ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
4.1 ๊ธฐ๋ณธ์ค์ ์ผ๋ก ์ค์ ๋์ด ์๋ ๋ธ๋ผ์ฐ์ ๊ฐ ๋์์ง๋๋ก ๋์ด ์์ผ๋, ๊ฐํน ์คํ๋์ง ์์ผ๋ฉด ๋ธ๋ผ์ฐ์ ์์ http://localhost:8888/ ๋ก์ ์ํด๋ด
๋๋ค.
์คํ ํ๋ฉด์ ์๋์ ๊ฐ๊ณ ์ฐ์ธก ๋ฉ๋ด new-> notebook[Python3] ๋ฅผ ์ ํํ์ฌ jupyter notebook ์ฐฝ์ ๋ ์๋๋ค.
๋
ธํธ๋ถ์ ์ฒซํ๋ฉด์ ์๋ ๊ธฐ๋ณธ code ์
๋ ฅ์ฐฝ์ด ์๊ณ . ํด๋น ์
๋ ฅ์ฐฝ์ python ์ฝ๋๋ฅผ ์
๋ ฅํ๊ณ shift+Enter ๋ก ์คํ ํ ์์์ต๋๋ค.(alt+Enter๋ก๋ ๊ฐ๋ฅํ๋ ์กฐ๊ธ ์ฐจ์ด๊ฐ ์๋ค, ์ง์ ํด๋ณด์!)
์
์์์ ํ๋กฌํํธ๊ฐ ๊น๋นก์ด๊ณ ์๋ค๋ฉด "EDIT MODE", ์
์ ์ฒด๊ฐ ์ ํ๋์ด ์์ผ๋ฉด "COMMAND MODE" ์ด๋ค. EDIT๋ชจ๋๋ ์
์์์์ ์
๋ ฅ๊ณผ ์์ ์, COMMAND MODE(์ดํ ์ปค๋งจ๋๋ชจ๋) ์์๋ ์
์ ์ฒด์ ์คํ ํน์ ์๋ฅด๊ธฐ ๋ถ์ด๊ธฐ, ํฉ์น๊ธฐ ๋ฑ๋ฑ ์ ํ ์ ์์ต๋๋ค.
๋ค์์๋ Jupyter notebook์์ ๊ฐ๋จํ ์น ์คํฌ๋ํผ๋ฅผ ๋ง๋ค์ด ๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.