스파르타코딩클럽
[GPT] 웹개발 종합반 : 최지웅
https://spartacodingclub.kr/online/web_chatgpt
스파르타코딩클럽 | [GPT] 웹개발 종합반
입문자부터 실무자까지 개발자 커리어에 꼭 필요한 웹 페이지 제작의 모든 것을 배웁니다.
spartacodingclub.kr
Python
파이썬이란?
인터프리터식, 고수준 프로그래밍 언어.
간결하고 읽기 쉬운 문법을 가져 다양한 분야에서 활용되고 있는 프로그래밍 언어
설치
3.8.6 버전 설치
(window) https://www.python.org/ftp/python/3.8.6/python-3.8.6-amd64.exe
(mac) https://www.python.org/ftp/python/3.8.2/python-3.8.2-macosx10.9.pkg
(3.9 이후는 너무 최신 버전이라 오작동하는 라이브러리가 존재하기 때문에 안정성을 위해 3.8.6 버전을 추천받음)
실행
설치 이후 VScode 에서 작성한 코드를 실행하려면
A. 터미널(bash)에 python 명령어 입력
$ python 실행할 파일
B. 실행할 파일에 마우스 우 클릭 후 "Run Python File in Terminal(터미널에서 Python 파일 실행)" 클릭
기초 문법
변수 지정과 출력
a = 10
print(a) # 10
데이터 타입
name = "Ryung"
age = 26
job = "FE"
print(name + job) # RyungFE
# 리스트
a_list = ["사과", "망고", "배"]
a_list.append("체리");
print(a_list[3]) # 체리
# 딕셔너리
a_dict = {"name": "Ryung", "age": 26}
print(a_dict["name"]) # Ryung
반복문과 조건문
ages = [10, 15, 20]
for age in ages:
if age > 19:
print(f"{age}살은 성인입니다.")
else:
print(f"{age}살은 청소년입니다.")
# 10살은 청소년입니다.
# 15살은 청소년입니다.
# 20살은 성인입니다.
함수
def average(numbers):
total = 0
for number in numbers:
total += number
return total / len(numbers);
num = [1, 2, 3, 4, 5]
print(average(num)) # 3.0
파이썬 가상환경 만들기
파이썬은 여러 라이브러리(패키지)들을 이용하는데
A 프로젝트는 ㄱ,ㄴ,ㄷ 라이브러리를 사용하고 B 프로젝트는 ㄷ,ㄹ,ㅁ 라이브러리를 사용한다고 가정한다면
이 라이브러리들이 한 공간에 섞인다면 오류를 발생시킬 수 있음
=> 가상 환경 이용
가상환경 (virtual environment)
: 같은 시스템에서 실행되는 다른 파이썬 응용 프로그램들의 동작에 영향을 주지 않기 위해, 파이썬 배포 패키지들을 설치하거나 업그레이드하는 것을 가능하게 하는 격리된 실행 환경이다.
VScode를 이용해서 가상환경 만들기
보기(View) 클릭
> 명령 팔레트(Command Palette) 클릭
> "env" 입력 시 나타나는 "Python: 환경 만들기... (Python: Create Environment...) " 클릭
> "Venv" 클릭
> 인터프리터 경로로 파이썬의 설치버전 (3.8.6) 확인 후 클릭
가상환경이 잘 만들어졌는지는 아래 방법으로 확인할 수 있다.
1. VScode 최하단 python의 버전과 venv 표시 확인
2. 터미널의 우측상단 + 버튼을 누르고 생성되는 bash 패널에 (.venv) 가 출력되는 지를 확인
3. 파일 탐색기에서도 .venv 폴더가 생겼는지 확인.
패키지 사용해보기
requests 패키지 설치
requests : Http 요청을 보내고 받기 위해 사용하는 패키지
$ pip install requests
+) mac 에서 zsh: command not found: pip 에러가 발생한다면?
mac에 기본적으로 python2 가 설치되어 있는 부분이 문제가 되기 때문에
$ pip3 install --upgrade pip
위 명령어를 통해 python3로 업그레이드 진행해주면 해결 완료!
설치된 requests 패키지 불러오기
import requests
requests 패키지 사용해보기
import requests
r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair') # 미세먼지 API 내용 가져오기
rjson = r.json() # JSON화
rows = rjson["RealtimeCityAir"]["row"]
for row in rows:
gu_name = row[""]
gu_mise = row["IDEX_MVL"]
print(gu_name, gu_mise)
파이썬 웹 스크래핑 연습하기
웹 스크래핑 : 인터넷에서 정보를 가져오는 작업
파이썬을 사용해서 API가 없더라도 웹 페이지에서 다양한 정보를 가져온 뒤 유용한 프로그램을 만들 수 있다.
requests, bs4 패키지 설치
$ pip install requests bs4
웹 스크래핑을 위한 기본 준비
URL : 정보를 가져올 웹 페이지 주소
import requests
from bs4 import BeautifulSoup
URL = "https://search.naver.com/search.naver?where=nexearch&sm=top_hty&fbm=0&ie=utf8&query=날씨"
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
data = requests.get(URL, headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
가져오고 싶은 데이터(현재 기온)의 구조를 확인하고 temp 변수에 저장하기
temp = soup.select_one('.temperature_text > strong')
print(temp) # <strong><span class="blind">현재 온도</span>19.0<span class="celsius">°</span></strong>
temp = soup.select_one('.temperature_text > strong').contents
print(temp) # [<span class="blind">현재 온도</span>, '19.0', <span class="celsius">°</span>]
temp = soup.select_one('.temperature_text > strong').contents[1]
print(temp) # 19.0
GitHub - sryung1225/hh_s
Contribute to sryung1225/hh_s development by creating an account on GitHub.
github.com
'기록방 > 스파르타코딩클럽' 카테고리의 다른 글
[스파르타] ChatGPT로 웹개발 완전정복 5주차 - Flask & DB (1) | 2023.10.09 |
---|---|
[스파르타] ChatGPT로 웹개발 완전정복 4주차 - DB (0) | 2023.10.09 |
[스파르타] ChatGPT로 웹개발 완전정복 3주차 - Flask (1) | 2023.10.08 |