본문 바로가기

개발자의 logs

항해 99 웹개발 종합반 - 3주차 회고 본문

개발자 학습노트/* 학습일기*

항해 99 웹개발 종합반 - 3주차 회고

주인장v 2022. 4. 15. 00:03

 

 

 

 

 

항해 99 웹개발 종합반 - 3주차 회고

 

 

 

 

3주차 목차

 

3주차에는 파이썬과 서버를 배웠다. 

 

파이썬에 대해서 조금 알기때문에 쉽게 넘길 주차라고 생각했지만 예상보다 어려웠다.

그래도 문법위주보다는 실습에 중점을 둔 수업이라 재밌다 .그전까지는 파이썬 패키지를 주피터노트북을 통해 설치했었는데, 파이참을 통해 패키지를 설치하니 정말 편한것 같다. 

 

그 다음으로 크롤링(정말 중요한 부분인것 같음)을 배웠는데, 역시 크롤링할때 copy selector를 이용했다. 전에도 쓴 경험이 있는데 이번에도 단번에 되지는 않았다. 

 

mongDB라는 것을 처음으로 배웠는데, 강의들으면서 아직 체계가 잡혀있지 않은 스타트업에서 정말 유용한 DB라고 생각됐다. MYSQL만 접해본 나로써는 오늘 강의를 들은 후로는 대다수 회사는 규모가 작으니 mongoDB가 더 좋지않을까?라고 생각했다. ( 이 부분은 좀 더 알아봐야겠지만!)

 

 

 

 

 

MongoDB

 

 

python으로 mongoDB를 조작할 수 있다!

 

파이썬은 정말 확장성과 호환이 참 잘되있는 언어인듯..

 

3주차 강의록

 

 

모든 과정을 거쳐 최종 과제를 시작했다. 

 

지니 뮤직에서 순위, 노래제목, 가수명을 가져오는 것을 목표로 둔 과제였다.

 

 

생각보다 과제완성에 오래걸려서 크롤링을 위주로 좀더 공부하고 연습해야겠다고 생각했다 ! 

 

 

 

 

 

 

 

 

아래는 성공한 이미지다. 구분을 위해서 '/'를 추가해줬다. ㅎ

성공!!!

 

 

이제 4주차를 향해 나아가야지

 

 

코드공유

 

import requests
from bs4 import BeautifulSoup

from pymongo import MongoClient


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=M&rtm=N&ymd=20210701',headers=headers)

soup = BeautifulSoup(data.text, 'html.parser')


#print(soup)

charts = soup.select('#body-content > div.newest-list > div > table > tbody > tr')

for cha in charts:

    num = cha.select_one('td.number').text[0:2].strip()
    title = cha.select_one('td.info > a.title.ellipsis').text.strip()
    name = cha.select_one('td.info > a.artist.ellipsis').text


    print(num,'/',title,'/',name)

Comments