스파르타 웹개발종합반 여섯째 날 일지(3-1~7)

박지환·2022년 3월 28일
0

파이썬

데이터 크롤링, 데이터베이스

3주차 수업목표

  • 파이썬 기초 문법을 안다.
  • 원하는 페이지를 크롤링 할 수 있다.
  • pymongo를 통해 mongoDB를 제어할 수 있다.
  1. 개관

파이썬도 하나의 개발언어 -> 인간의 언어와 같은 하나의 표현방식
venv 폴더는 건드리지 않는다(수정, 설치 금지) -> 라이브러리 저장소

*주의) 코드 줄의 오른쪽 클릭하고 run으로 확인, 오른쪽 위의 ▶ 버튼 누르지 않는다

자바스크립트를 배울 때처럼 <변수, 자료형, 함수, 조건문, 반복문>를 먼저 익힌다.

  1. 변수

변수 선언에 따로 문법이 없다
ex) a = 2

tip)

1) 에러는 맨 마지막 줄(설명)과 그 전 줄(에러 지점)만 보면 됨
-> 에러 설명을 그대로 복붙해서 구글링하면 됨

2) 정의 뒤에는 자동으로 줄이 맞춰짐(중괄호가 없음, 줄 보고 내용물을 판단하면 되지?!)
-> 줄을 제대로 안 맞추면 구성물로 보지 않기 때문에 줄을 잘 맞춰야한다.

  1. 자료형

1) 리스트 형 (Javascript의 배열형과 동일)

a_list = []
a_list.append(1)     # 리스트에 값을 넣는다
a_list.append([2,3]) # 리스트에 [2,3]이라는 리스트를 다시 넣는다

# a_list의 값은? [1,[2,3]]
# a_list[0]의 값은? 1
# a_list[1]의 값은? [2,3]
# a_list[1][0]의 값은? 2

2) Dictionary 형 (Javascript의 dictionary형과 동일)

a_dict = {}
a_dict = {'name':'bob','age':21}
a_dict['height'] = 178

# a_dict의 값은? {'name':'bob','age':21, 'height':178}
# a_dict['name']의 값은? 'bob'
# a_dict['age']의 값은? 21
# a_dict['height']의 값은? 178

3) Dictionary 형과 List형의 조합

people = [{'name':'bob','age':20},{'name':'carry','age':38}]

# people[0]['name']의 값은? 'bob'
# people[1]['name']의 값은? 'carry'

person = {'name':'john','age':7}
people.append(person)

# people의 값은? [{'name':'bob','age':20},{'name':'carry','age':38},{'name':'john','age':7}]
# people[2]['name']의 값은? 'john'
  1. 함수
# 수학문제에서
f(x) = 2*x+3
y = f(2)
y의 값은? 7

# 참고: 자바스크립트에서는
function f(x) {
	return 2*x+3
}

# 파이썬에서
def f(x):
	return 2*x+3

y = f(2)
y의 값은? 7
  1. 조건문
def is_adult(age):
	if age > 20:
		print('성인입니다')    # 조건이 참이면 성인입니다를 출력
	else:
		print('청소년이에요')  # 조건이 거짓이면 청소년이에요를 출력

is_adult(30)
# 무엇이 출력될까요?
  1. 반복문
fruits = ['사과','배','배','감','수박','귤','딸기','사과','배','수박']

count = 0
for fruit in fruits:
	if fruit == '사과':
		count += 1

print(count)

# 사과의 개수를 세어 보여줍니다.
def count_fruits(target):
	count = 0
	for fruit in fruits:
		if fruit == target:
			count += 1
	return count

subak_count = count_fruits('수박')
print(subak_count) #수박의 개수

gam_count = count_fruits('감')
print(gam_count) #감의 개수
  1. 파이썬 패키지

패키지? 라이브러리? →
Python 에서 패키지는 모듈(일종의 기능들 묶음)을 모아 놓은 단위입니다. 이런 패키지 의 묶음을 라이브러리 라고 볼 수 있습니다. 지금 여기서는 외부 라이브러리를 사용하기 위해서 패키지를 설치합니다.

즉, 여기서는 패키지 설치 = 외부 라이브러리 설치!

import requests # requests 라이브러리 설치 필요

r = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
rjson = r.json()

gus = rjson['RealtimeCityAir']['row']

for gu in gus:
	print(gu['MSRSTE_NM'], gu['IDEX_MVL'])

*패키지를 쓰기 위해선 일단 패키지를 import 해야한다!

  • IDEX_MVL 값이 60 미만인 구만 찍어주자!
import requests # requests 라이브러리 설치 필요

r = requests.get('http://openapi.seoul.go.kr:8088/6d4d776b466c656533356a4b4b5872/json/RealtimeCityAir/1/99')
rjson = r.json()

gus = rjson['RealtimeCityAir']['row']

for gu in gus:
	if gu['IDEX_MVL'] < 60:
		print (gu['MSRSTE_NM'], gu['IDEX_MVL'])
  1. 마치며

    코드가 바뀌었더라도 앞서 배운 내용을 반복하고, 파이썬 코드 자체가 직관적이라 그런지 조금 더 편안한 느낌이다.

profile
시작은 창대하나 끝은 미약하리라

0개의 댓글

관련 채용 정보