스파르타코딩클럽/웹개발

웹개발종합반 개발일지 | 3주차 - 숙제

이모냥냥 2022. 8. 28. 01:06
반응형

💡수업 목표💡
  1. 파이썬 기초 문법을 안다.
  2. 원하는 페이지를 크롤링 할 수 있다.
  3. pymongo를 통해 mongoDB를 제어할 수 있다.

 

 

2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 1강 파이썬 설치 및 Pycharm 설정

 

웹개발종합반 개발일지 | 3주차 - 1강 파이썬 설치 및 Pycharm 설정

💡수업 목표💡 파이썬 기초 문법을 안다. 원하는 페이지를 크롤링 할 수 있다. pymongo를 통해 mongoDB를 제어할 수 있다. 공식 홈페이지에서 Python 설치 웹개발종합반 강의에서는 해당 설치방법을

sosohan-coding.tistory.com

2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 2강

 

웹개발종합반 개발일지 | 3주차 - 2강

💡수업 목표💡 파이썬 기초 문법을 안다. 원하는 페이지를 크롤링 할 수 있다. pymongo를 통해 mongoDB를 제어할 수 있다. 2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주

sosohan-coding.tistory.com

2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 3,4,5,6,7,8강

 

웹개발종합반 개발일지 | 3주차 - 3,4,5,6,7,8강

💡수업 목표💡 파이썬 기초 문법을 안다. 원하는 페이지를 크롤링 할 수 있다. pymongo를 통해 mongoDB를 제어할 수 있다. 2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주

sosohan-coding.tistory.com

2022.08.27 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 9,10,11강 mongoDB Atlas로 시작하기

 

웹개발종합반 개발일지 | 3주차 - 9,10,11강 mongoDB Atlas로 시작하기

💡수업 목표💡 파이썬 기초 문법을 안다. 원하는 페이지를 크롤링 할 수 있다. pymongo를 통해 mongoDB를 제어할 수 있다. 2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주

sosohan-coding.tistory.com

2022.08.27 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주차 - 12,13,14강

 

웹개발종합반 개발일지 | 3주차 - 12,13,14강

💡수업 목표💡 파이썬 기초 문법을 안다. 원하는 페이지를 크롤링 할 수 있다. pymongo를 통해 mongoDB를 제어할 수 있다. 2022.08.26 - [스파르타코딩클럽/웹개발종합반] - 웹개발종합반 개발일지 | 3주

sosohan-coding.tistory.com

 


 

HW03. 지니뮤직의 1~50위 곡을 스크래핑

https://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20210701 

 

지니차트>월간 - 지니

AI기반 감성 음악 추천

www.genie.co.kr

import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
client = MongoClient('---------URL----------')
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=M&rtm=N&ymd=20210701',headers=headers)

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

songs = soup.select('#body-content > div.newest-list > div > table > tbody > tr')
for song in songs:
    songid = song['songid']
    if songid is not None:
        rank = song.select_one("td.number").text[0:2].strip()
        title = song.select_one("td.info > a.title").text.strip()
        artist = song.select_one("td.info > a.artist").text.strip()
        print(rank, title, artist)
        doc = {
            'rank': rank,
            'title': title,
            'artist': artist
        }
        db.genie.insert_one(doc)

반응형