스파르타 코딩클럽
내일배움단 3주차
<시작>
코딩을 배우는 것은 재밌지만 책상에 앉아서 집중을 하는 데 까지 시간이 너무 오래 걸린다ㅠ_ㅠ 새벽 5시에 일찍 일어나는데 정작 아침~낮시간대에는 집중이 잘 안되고 저녁시간에서야 온전히 집중할 수 있다. 밤에는 12시 전에는 자려고 해서 절대적인 공부시간이 부족하고, 여기에서 오는 조급함이 있다.
<한 줄 일지>
8월 24일 화요일 : 파이썬을 처음으로 배우게 되었다. 상대적으로 쉽다고 하던데.... 나는 해당사항이 없는 듯하다. 설치할 것도 많고 정신이 없지만 크롤링은 재밌다.
8월 25일 수요일 : robo3T를 활용한 DB를 학습하고 과제를 제출했다. 과제는 강의를 들으면서 배웠던 내용으로 쉽게 할 수 있었지만 DB는 많이 헷갈려서 다시 반복 복습이 필요할 것 같다.
<새로 배운 것>
크롤링과 pymongo, robo3T를 통한 DB를 학습했다. 기본 코드를 받아서 대입하면서 하는 것은 이해가 간다. 하지만 눈에 익을 때까지는 연습이 많이 필요할 것 같다.
크롤링 기본 세팅
import requests
from bs4 import BeautifulSoup
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('https://movie.naver.com/movie/sdb/rank/rmovie.nhn?sel=pnt&date=20200303',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
# 코딩 시작
pymongo 기본 코드
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# 코딩 시작
pymongo 코드 요약
# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# 지우기 - 예시
db.users.delete_one({'name':'bobby'})
3주차 과제 제출
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
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('https://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1', headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
trs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for tr in trs:
rank = tr.select_one('td.number').text[0:2].strip()
title = tr.select_one('td.info > a.title.ellipsis').text.strip()
artist = tr.select_one('td.info > a.artist.ellipsis').text.strip()
print(rank, title, artist)
<느낀 점>
파이썬이나 DB를 배울 때는 프로그램도 이것저것 많이 설치하고 파이참 안에서도 추가로 설치해야 되는 것들이 많다. 이런 것들은 내가 컴퓨터를 새로 사서 다시 설치한다고 가정했을 때 나 혼자 인지하고 할 수 있을지 의문이 든다....... 쓸데없는 걱정일까? 크롤링이나, 코딩 자체는 너무 재밌다. 코드를 학습하고 이해하고 나 혼자 연습하는 과정에서 내가 무엇인가를 알아가고 배운다는 느낌이 확실히 들고 여기서 오는 성취감이 좋다. 하지만 완벽히 학습하지 않으면 나중에 못 따라갈까 봐 조급한 마음이 좀 든다. 얼른 한 바퀴 돌리고 복습을 해야겠다!
'기록 > 회고' 카테고리의 다른 글
[스파르타 코딩클럽] 프로젝트 챌린지 1주차 개발일지 (0) | 2021.09.14 |
---|---|
[스파르타 코딩클럽] 내일배움단(웹개발종합반) 5주차 기록 (0) | 2021.09.07 |
[스파르타 코딩클럽] 내일배움단(웹개발종합반) 4주차 기록 (0) | 2021.09.03 |
[스파르타 코딩클럽] 내일배움단(웹개발종합반) 2주차 기록 (0) | 2021.08.24 |
[스파르타 코딩클럽] 내일배움단(웹개발종합반) 1주차 기록 (0) | 2021.08.19 |