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

+ Recent posts