[혼공단 5기] 6주차 미션: BeautifulSoup 스크레이핑 예제 실행 후 결과 화면 인증샷 (+혼공 용어 노트에 나만의 언어로 객체, 클래스, 인스턴스, 생성자, 메소드 보충 설명쓰고 인증샷)
드디어 마지막! 6주차 미션을 해보려고 합니다
( •̀ ω •́ )✧✧✧
이번주 기본 미션은
"342쪽 [직접 해보는 손코딩: BeautifulSoup 스크레핑 실행하기] 예제 실행 후 결과 화면 인증샷"
그리고 선택 미션은
"혼공 용어 노트에 나만의 언어로 객체, 클래스, 인스턴스, 생성자, 메소드 보충 설명 쓰고 인증샷"
입니다
설명을 덧붙여 가며
기본 미션 수행하고
마지막으로 선택 미션 인증샷 올리고 마치겠습니다!
p341 [직접 해보는 손코딩] BeautifulSoup 스크레이핑 실행하기
[소스 코드]
# 모듈 읽어 들이기
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
이렇게 책 p341를 보면 소스 코드가 나와있습니다
하지만 이 소스 코드만 실행하는 것으로는
원하는 결과 화면을 볼 수 없습니다 ㅠㅜ
차근차근 하나씩 해볼게요!
우선 이 소스코드에서는
BeautifulSoup 모듈과 Flask 모듈을 볼 수 있습니다
외부 모듈이므로 설치를 해야
오류 없이 소스 코드가 실행됩니다.
1. cmd 창에서 필요한 외부 모듈 설치
** [Window] + [R] 키를 눌러 cmd를 입력하여 명령 프롬프트 창을 실행시켜주세요 **
pip install 모듈이름 # 외부 모듈 설치
2. 소스코드 "app.py"로 저장 후 저장 한 폴더 위치에서 powershell 띄우기
전 이렇게 python 폴더를 만들어 공부했답니다 ㅎㅎ
이렇게 위의 소스 코드를 app.py로 저장한 후
app.py 파일이 있는 폴더를 열어줍니다!
그리고 [Shift] 키를 누르면서 마우스 오른쪽 버튼을 눌러주면..!
이렇게 "여기에 PowerShell 창 열기"를 통해
PowerShell 창을 여실 수 있습니다.
** 파일 이름을 app.py로 하는 이유 **
Flask는 FLASK_APP 환경 변수가 지정되지 않은 경우 자동으로 app.py를 기본 애플리케이션으로 인식합니다.
따라서 파일명을 app.py로 한다면 FLASK_APP 환경 변수를 별도로 지정하지 않아도 됩니다.
만약, 다른 파일명으로 하고 싶다면 FLASK_APP 환경 변수를 그 파일명으로 지정해주시면 됩니다.
전 간단히 app.py로 했습니다..ㅎㅎ
3. 소스 코드 실행 후 결과 확인
flask run # 소스 코드 실행
2번에서 열어뒀던 PowerShell에
"flask run"을 입력해주시면 아래 주소가 뜹니다
복사하셔서 크롬이나 익스플로러로 열어주세요
이렇게 기상청의 전국 날씨를 웹 브라우저를 통해 확인해볼 수 있습니다.
선택 미션!!
혼공 용어 노트의 제가 정리한 Chapter 08 클래스 부분입니다!
객체, 클래스, 인스턴스, 생성자, 메소드 등을
학습하면서 나름대로 보충 설명을 추가해보았습니다
이렇게 해서 혼공단 5기가 끝이 났네요 ㅎㅎ
다들 6주간 수고하셨습니다
감사합니다 :D
댓글 영역