본문 바로가기
개발자 일지

웹개발종합반, 3주차

by Yoon_Med 2021. 12. 28.
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.naver?sel=pnt&date=20210829',headers=headers)

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

#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a

movies = soup.select('#old_content > table > tbody > tr')

for movie in movies:
    a = movie.select_one('td.title > div > a')
    if a is not None:
        print(a.text)

 

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.naver?sel=pnt&date=20210829',headers=headers)

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

#old_content > table > tbody > tr:nth-child(3) > td.title > div > a
#old_content > table > tbody > tr:nth-child(4) > td.title > div > a

#old_content > table > tbody > tr:nth-child(2) > td:nth-child(1) > img
#old_content > table > tbody > tr:nth-child(3) > td:nth-child(1) > img

#old_content > table > tbody > tr:nth-child(2) > td.point
#old_content > table > tbody > tr:nth-child(3) > td.point

movies = soup.select('#old_content > table > tbody > tr')

for movie in movies:
    a = movie.select_one('td.title > div > a')
    if a is not None:
        title = a.text
        rank = movie.select_one('td:nth-child(1) > img')['alt']
        star = movie.select_one('td.point').text
        print(rank, title, star)

데이터베이스는 왜 쓰는 걸까?!

--> 1. 잘 넣어두기 위해 / 2. 잘 찾기 위해서

--> 섹션 > 출판사 > 책 제목 ;   === 출판사 별로 달라 // 코딩이 들어간 모든 책을 달라 -> 검색 범위가 다르다.

 

DB : 두가지 종류 

1) 칸을 만들어 두고 채우는 느낌 ; SQL - 다 정해져 있으니 이상한게 들어올 리 없다. 찾기 쉽다. // 작은 스타트업에서 많은 변화가 생기고 수정이 생길 경우 바꾸기 어렵다. 

2) 칸 없이 들어오는 대로 쌓는다 ; NoSQL (not only SQL) - 그때그때 쌓이기 때문에 유연하다. --> 초기 스타트업에서 많이 사용한다.  /// 대표 : mongoDB

 

DB의 실체에 관하여

--> DB는 프로그램이다. 데이터를 잘 쌓고 가져오기 위한 프로그램이다. 따라서 내 컴퓨터에도 DB를 깔 수 있다. 하지만, 우리는 클라우드 환경에서 제공하는 것을 이용할거다. 왜냐? 

유저가 몰리거나 DB 백업해야되거나 할 때 아주아주 용이하다. 

--> 그래서 우리도 최신 클라우드 서비스인 mongoDB Atlas를 사용할거다. 

 

 

 

 

댓글