07-2 외부 모듈
사이킷-런(scikit-learn), 텐서플로우(Tensorflow), 장고(Django), 플라스크(Flask), 넘파이(NumPy)를 외부 모듈이라고 합니다. 앞으로는 이런 모듈 책을 학습하시는 것이 좋다고 해요.

이번 과정은 Beautiful Soup, Flask 모듈을 공부하는데요.
먼저 사용하기 위해서 설치를 해야 하는데요.
pip install 모듈이름
Beautiful Soup은 웹 페이지를 분석할 때 사용하는 모듈입니다.
기사청의 전국 날씨 정보를 가져와서 출력해 보겠습니다.
# 모듈을 읽어 들입니다.
from urllib import request
from bs4 import BeautifulSoup
# urlopen() 함수로 기상청의 전국 날씨를 읽습니다.
target = request.urlopen("http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")
# BeautifulSoup을 사용해 웹 페이지를 분석합니다.
soup = BeautifulSoup(target, "html.parser")
# location 태그를 찾습니다.
for location in soup.select("location"):
# 내부의 city, wf, tmn, tmx 태그를 찾아 출력합니다.
print("도시:", location.select_one("city").string)
print("날씨:", location.select_one("wf").string)
print("최저기온:", location.select_one("tmn").string)
print("최고기온:", location.select_one("tmx").string)
print()
# 모듈을 읽어 들입니다.
from flask import Flask
from urllib import request
from bs4 import BeautifulSoup
# 웹 서버를 생성합니다.
app = Flask(__name__)
@app.route("/")
def hello():
# urlopen() 함수로 기상청의 전국 날씨를 읽습니다.
target = request.urlopen("http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")
# BeautifulSoup를 사용해 웹 페이지를 분석합니다.
soup = BeautifulSoup(target, "html.parser")
# location 태그를 찾습니다.
output = ""
for location in soup.select("location"):
# 내부의 city, wf, tmn, tmx 태그를 찾아 출력합니다.
output += "<h3>{}</h3>".format(location.select_one("city").string)
output += "날씨: {}<br/>".format(location.select_one("wf").string)
output += "최저/최고 기온: {}/{}"\
.format(\
location.select_one("tmn").string,\
location.select_one("tmx").string\
)
output += "<hr/>"
return output

Flask 모듈
웹 개발을 할 때 사용하는 모듈은 장고와 플라스크입니다.
장고는 매우 다양한 기능을 제공하는 웹 개발 프레임워크입니다.
플라스크는 작은 기능만을 제공하는 웹 개발 프로엠워크입니다.
사용하기 위해 설치해야 하는데요.
pip install flask

from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "<h1>Hello World!</h1>"
@로 시작하는 구문을 파이썬에서는 '데코레이터'라고 부릅니다.
데코레이터는 꾸며주는 건데요.
함수 데코레이터와 클래스 데코레이터로 나뉘게 됩니다.
외부 모듈은 사용하는 목적에 따라 다른데요.
웹 서버 개발을 위해서는 Django, Flask
인공지능 개발을 위해서는 scikit-learn, tensorflow, keras
데이터 분석을 위해서는 pandas, matplotlib
크롤러 개발을 위해서는 BeautifulSoup, requests, scrapy
를 활용하시면 됩니다.
'혼공파' 카테고리의 다른 글
혼공파 08 클래스 (1) | 2024.02.11 |
---|---|
혼공파 7장 모듈(1) (0) | 2024.02.04 |
혼공파 5주 예외처리 6장 (0) | 2024.02.04 |
혼공파 4주차 5장 함수 (2) | 2024.01.28 |
혼공파 3주차 Ch04 반복문 (1) | 2024.01.21 |