부산사는신씨

혼공파 6주차 본문

Python

혼공파 6주차

부산사는신씨 2020. 8. 14. 15:51

목표

  • BeautifulSoup 스크래핑 실행 하기
  • 객체, 클래스, 인스턴스, 생성자, 메소드란?

혼공용어

  • 객체: 여러가지 속성을 가질 수 있는 대상.
    • 객체는 데이터를 가지고 있다. => 프로퍼티
    • 객체는 데이터를 조작 할 수 있는 행위를 가지고 있다. => 메소드
  • 클래스: 객체에 포함할 변수와 함수를 미리 정의한 것. => 객체의 설계도
    • 객체의 설계도라고도 불림. 
    • 붕어빵을 만들 때 붕어빵 틀로 이해 하면 됨.
      => 클래스라는 설계도를 이용해서 찍어내면 객체가 생성 됨.
  • 인스턴스:클래스를기반으로만들어진객체
    • 클래스라는 붕어빵 틀을 이용하여 찍어낸 객체
  • 생성자: 클래스 이름과 같은 함수. => 파이썬에서는 __init__ 함수에서 생성자 처리를 하고 있음.
    • 객체가 생성 될 때 처음 호출 됨. => 생성자라 불리는 이유
    • 맴버 변수를 초기화 용도로 사용 됨.
  • 메소드: 클래스가 가지고 있는 함수.
    • C#, Java에서는 클래스의 함수를 메소드라 지칭 함.
    • 클래스 내부에 정의되는 함수.
    • 객체 내에서 데이터를 조작 하기 위한 함수.

BeautifulSoup

  • Flask와 BeautifulSoup4를 사용 하여 날씨 스크래핑 하기.
from flask import Flask
from urllib import request
from bs4 import BeautifulSoup

app = Flask(__name__)
@app.route("/")

def hello():
    target = request.urlopen("http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")
    soup = BeautifulSoup(target, "html.parser")
    output = ""
    for location in soup.select("location"):
        output += "<h3>{}</h3>".format(location.select_one("city").string)
        output += "<p>"
        output += "날씨: {}<br>".format(location.select_one("wf").string)
        output += "최저/최고 기온: {}/{}".format(location.select_one("tmn").string, location.select_one("tmx").string)
        output += "</p>"
        output += "<hr>"
    return output



'Python' 카테고리의 다른 글

혼공파 4주차  (0) 2020.07.31
혼공파 3주차  (0) 2020.07.24
혼공파 2주차  (0) 2020.07.17
혼공파 1주차  (0) 2020.07.09
Comments