beautifulsoup4, requests 패키지 설치하기
pycham에서 file -> settings -> project -> python interpreter -> + -> 검색 후 install
데이터 requests, 데이터 솎아내기 (브라우저 검사에서 가져 올 데이트를 확인)
기본 세팅
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')
soup.select_one() 등의 함수를 이용해 데이터를 가지고 올 html의 selector를 확인하여 데이터를 스크래핑 해본다.
데이터를 원하는 형태로 정제한다.
NoSQL의 데이터 베이스
NoSQL과 SQL(RDBMS)의 차이
SQL - 엑셀 데이터를 저장하는것과 유사하다. 많은 데이터가 적재된 상테에서 갑자기 중간에 데이터 열을 하나 더하는게 어렵다. 정형화된 데이터인 만큼 데이터의 일관성이나 분석에 용이하다.
NoSQL - 딕셔너리 형태로 데이터를 저장해두는 DB이다. 각각의 데이터가 굳이 모든 같은 속성의 값을 가질 필요가 없어 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족한 단점이 있다. 데이터가 자주 바뀔 일이 많은 초기 스타트업 및 서비스에서 유용하게 사용된다.
pymongo 조작법
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
# insert - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
# find(one) - 예시
user = db.users.find_one({'name':'bobby'})
# find - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
# update - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
# delete- 예시
db.users.delete_one({'name':'bobby'})