3주차 웹개발 강의는 

Python과 MongoDB를 다루는 연습을 했습니다.

Python으로 코드를 쳐서 MongoDB에 데이타를 업데이트했습니다.

 

처음에 MongoDB에 업데이트가 안되고 계속 오류가 났었습니다.

[SSL: CERTIFICATE_VERIFY_FAILED]

 

이런 오류가 났었는데

열심히 구글링한 결과

 

certifi라는 패키지를 설치하고

from pymongo import MongoClient
import certifi

ca = certifi.where();

client = MongoClient('내MongoDB주소', tlsCAFile=ca)
db = client.dbsparta

위의 코드를 삽입하니 실행이 되었습니다.

 

뭐가 틀렸는지 눈빠지게 보다가 선생님과 다른 코드는 없는 걸로 확인하고 뒤늦게 구글링해서 오류의 원인을 찾아냈습니다.

 

모니터 받힘대와 무선 키보드를 구매해야할 것 같습니다.

일단 새로운 맥북은 핑핑 잘돌아갑니다. 

 

249만원 짜리 맥북을 위한 케이스도 사야겠습니다. 

벌써 매몰비용만 600만원이 넘어갑니다.

거의 국내대학 한학기 등록금.

 

아직까지 수업은 흥미롭고 재미있습니다.

 

 

아래는 3주차 과제로 진행한 지니 뮤직 차트 크롤링하는 코드입니다.

 

카피 하고 싶은 부분에 대고

검사 > copy > copy selector 

 

soup.select('')를 이용해서 크롤링을 해옵니다.

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://www.genie.co.kr/chart/top200?ditc=M&rtm=N&ymd=20210701',headers=headers)

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

#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.number
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.title.ellipsis
#body-content > div.newest-list > div > table > tbody > tr:nth-child(1) > td.info > a.artist.ellipsis

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

for genie in music:
    rank = genie.select_one('td.number').text[0:2].strip()
    title = genie.select_one('td.info > a.title.ellipsis').text.strip()
    artist = genie.select_one('td.info > a.artist.ellipsis').text.strip()
    print(rank, title, artist)

+ Recent posts