스파르타 코딩 클럽 웹개발 종합반 - 3주차[사전스터디]

스브코·2021년 10월 28일

python 웹 크롤링

  1. beautifulsoup4, requests 패키지 설치하기

    pycham에서 file -> settings -> project -> python interpreter -> + -> 검색 후 install

  2. 데이터 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')
  1. soup.select_one() 등의 함수를 이용해 데이터를 가지고 올 html의 selector를 확인하여 데이터를 스크래핑 해본다.

  2. 데이터를 원하는 형태로 정제한다.

Pymongo

NoSQL의 데이터 베이스

NoSQL과 SQL(RDBMS)의 차이

SQL - 엑셀 데이터를 저장하는것과 유사하다. 많은 데이터가 적재된 상테에서 갑자기 중간에 데이터 열을 하나 더하는게 어렵다. 정형화된 데이터인 만큼 데이터의 일관성이나 분석에 용이하다.

NoSQL - 딕셔너리 형태로 데이터를 저장해두는 DB이다. 각각의 데이터가 굳이 모든 같은 속성의 값을 가질 필요가 없어 자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족한 단점이 있다. 데이터가 자주 바뀔 일이 많은 초기 스타트업 및 서비스에서 유용하게 사용된다.

pymongo 조작법

  1. pycham에 패키지 설치
  2. insert / find / update / delete
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'})
profile
익히는 속도가 까먹는 속도를 추월하는 그날까지...

0개의 댓글