[혼공학습단] 6주차 혼공파 파이썬 기본 미션

김수연·2022년 8월 21일
0

혼공학습단 8기

목록 보기
6/7
post-thumbnail

🎉5주차 MISSION CLEAR!!

매주 루틴으로 자리잡았는데 혼공학습단 미션의 마지막이다..!

미션을 제출하고나면 족장님이 이번엔 어떤 코멘트를 달아주실까, 이번주는 척척석사 올라갔을까 기다리게 됐는데 너무 아쉽다..😥

이래서 다른 주제로 혼공학습단을 이어나가는 사람들이 있는건가보다!
이대로 끝내긴 너무 아쉬우니까!!

어쩌면 나도 to be continued..?🤓

6주차(8/15 - 8/21)

📕 기본미션

p.342 [직접 해보는 손코딩:BeautifulSoup 스크레이핑 실행하기] 예제 실행 후 결과 화면 캡쳐하기

<BeautifulSoup 스크레이핑 실행하기> ⇨ beatiful_flask.py

# 모듈 읽어 들이기
from flask import Flask
from urllib import request
from bs4 import BeautifulSoup

# 웹 서버 생성
app = Flask(__name__)
@app.route('/')

def hello():
    target = 
    # unlopen() 함수로 기상청의 전국 날씨를 읽음
    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

위의 코드를 실행하면
unlopen() 함수로 http://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108 에서 정보를 읽어온다.

그래서 웹 브라우저에서 다음의 주소로 접속하면

http://127.0.0.1:5000

접속할 때마다 날씨 정보를 보여주는 웹 서버가 보여져야 성공!!
.
.
.
성.. 공..인건데

왜일까..왜 안될까..

코드에 오타는 없고..

플라스크 기본 애플리케이션을 실행했을 때는 해당 url이 문제 없이 돌아가는데..

<기본 Flask 애플리케이션>
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello World!'

if __name__ == '__main__':
    app.run()

띠로리.. 일단 방법을 계속 찾아보고 해결하면 방법을 공유하는걸로...😭


📗 선택 미션: 객체, 클래스, 인스턴스, 생성자, 메소드 정리하고 공유하기

혼공 용어 노트에 있는 설명으로 간단하게 정리하자면..✍

  • 객체(object): 여러 가지 속성을 가질 수 있는 대상
  • 클래스(class): 객체에 포함된 변수와 함수를 미리 정의한 것
    - 객체의 설계도에 해당
  • 인스턴스(instance): 클래스 기반으로 만들어진 객체
  • 생성자(constructor): 클래스 이름과 같은 함수
    - 클래스 내부에 init 이라는 함수를 만들면 객체를 생성할 때 처리를 작성 가능
  • 메소드(method): 클래스가 가지고 있는 함수(=인스턴스 함수)

잘 마무리하고.. 기쁜 마음으로 후기쓰자!!
오류가 나오면 어쩌겠습니까..
해내야죠!

profile
Quien no arriesga, no gana nada

0개의 댓글