웹개발 종합반 3주차

례주·2023년 4월 7일

✏️ 3-4 파이썬 기초공부(1)

def : 함수 선언

def hey():
    print('헤이!')

hey()

#결과 : 헤이!

변수 받는 함수

def sum(a,b,c):
    return a+b+c

result = sum(1,2,3)

print(result)

#결과 : 6

✏️ 3-5 파이썬 기초공부(2)

조건문

age = 25

if age >20:
    print('성인입니다')
else:
    print('청소년입니다')
    
#결과 : 성인입니다

반복문

ages = [5, 10, 13, 23, 25, 9]

for a in ages:
    if a > 20:
        print ('성인입니다')
    else:
        print ('청소년입니다')
        
#결과 : 
청소년입니다
청소년입니다
청소년입니다
성인입니다
성인입니다
청소년입니다

✏️ 3-7 패키지 사용해보기

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

r = requests.get('http://spartacodingclub.shop/sparta_api/seoulair')
rjson = r.json()

rows = rjson['RealtimeCityAir']['row']

for a in rows :
    gu_name = a['MSRSTE_NM']
    gu_mise = a['IDEX_MVL']
    print(gu_name , gu_mise)

결과

✏️ 3-8 웹스크래핑(크롤링) 기초

📝 강의에서는 <tr> 이지만 실습할 땐 <li> 사용
<tr>이 없음....

import requests		#requests = 요청, bs4 솎아내기
from bs4 import BeautifulSoup  #bs4

URL = "https://movie.daum.net/ranking/reservation"
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') #여기까지 기본툴

#mainContent > div > div.box_ranking > ol > li:nth-child(1) > div > div.thumb_cont > strong > a
lis = soup.select('#mainContent > div > div.box_ranking > ol > li')
for li in lis:
    a = li.select_one('div > div.thumb_cont > strong > a')
    if a is not None:   #is not : !=   / is : ==
        print (a.text)  #영화 이름만 가져오는 작업

결과

✏️ 3-9 웹스크래핑(크롤링) 연습

lis = soup.select('#mainContent > div > div.box_ranking > ol > li')
for li in lis:
    a = li.select_one('div > div.thumb_cont > strong > a')
    if a is not None:
       
        rank = li.select_one(".rank_num").text 
        title = a.text
        rate = li.select_one(".txt_grade").text
        # grade = li.select_one('div > div.thumb_cont > span.txt_append')

        print(rank, title, rate)

✏️ 3-12 mongoDB 연결하기

  • 맥에서는 SSL: CERTIFICATE_VERIFY_FAILED 오류가 났음.
    아예 연결이 안되는 상황.
  • 터미널에서 pip install 도 안되길래

    finder 응용프로그램 파이썬 폴더에 있는 얘로 해결함.
    무척 당황스러웠음... 계정 만들 때 잘못 만든건가 해서 눈 앞 깜깜.

✏️ 3-13 pymongo로 DB 조작하기

  • 현 저장된 데이터
# 모든 데이터 뽑아보기
all_users = list(db.users.find({},{'_id':False}))  
#{'_id':False} : id는 빼고 결과 출력



for a in all_users:      # 반복문을 돌며 모든 결과값을 보기
    print(a)
  • 결과
print(all_users[0])         # 0번째 결과값을 보기
print(all_users[0]['name']) # 0번째 결과값의 'name'을 보기

user = db.users.find_one({})
print(user)				# 1개의 결과값 보기

db.users.update_one({'name':'영수'},{'$set':{'age':19}})
user = db.users.find_one({'name':'영수'})
print(user)			# 영수 나이 24->19로 변경

  • 2주차보다는 할만했지만 호락호락하지 않음
  • mongoDB 연결이 안되어서 당황했지만 얼레벌레 해결함
  • 이번 주차엔 밖에 나갈 일도 많았고 여러 변수들이 생겼음. 스케줄 관리를 더 해야겠음.
  • 그래도 저번주보단 확실히 나아진 나의 모습
  • 웹개발 종합반 이거 앞으로 약 40주는 더 들을 수 있어서 다행이다 정말...
profile
반갑습니다

0개의 댓글