코딩/javascript

스파르타 코딩클럽 3주차 개발일지

김은수2 2023. 1. 16. 01:36

1. 파이썬을 설치한다는 것의 의미

1). 왜 설치하나? 컴퓨터에게 명령을 내리려고
파이썬을 컴퓨터가 알아들을 수 있도록 번역팩을 설치한다

 

파이썬에 대하여 배운것들
변수 
자료형 
함수 
반복문, 조건문

2. 크롤링이란? 웹에 접속해서 데이터를 솎아내어 가져오는것
= 라이브러리 2개 필요
웹에 접속하는 친구 requests
솎아내는 친구 Beautifulsoup

3. 데이터베이스 왜씀?
다시 잘 찾을려고 잘 저장을 하는게 아닌 저장해놓은걸 잘 가져오는게 역할이다. 

데이터베이스 2가지종류

1). SQL 종류
칸이 정해져 있다. ex) 엑셀  
장점: 사람이 실수할 일이 없다. 대기업, 조금더 빠름
2). NO SQL 종류 NOT ONLY - mongoDB Atlas - 이번주에 내가 공부한 것
정형화된 틀이있지않음
장점: 비지니스의 유연성, 스타트업

번외) DB의 실체가 뭐냐???
사실 엑셀에 데이터를 넣는것과 같다고 생각해도 된다. 
데이터베이스 데이터를 잘 쌓고, 잘 가져갈 수 있게 하는 프로그램

요새 내 컴퓨터에 잘 설치하지않고 인터넷에 있는 컴퓨터에 올려놓는다
클라우드에 올려놓는다.

 

실습코드

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.flc5yrq.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

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'}

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

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

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

실습코드2

 

from pymongo import MongoClient
client = MongoClient('mongodb+srv://sparta:test@cluster0.flc5yrq.mongodb.net/?retryWrites=true&w=majority')
db = client.dbsparta

# 저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)

# 한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})

# 여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
all_users = list(db.users.find({},{'_id':False}))

# 바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})

# 지우기 - 예시
db.users.delete_one({'name':'bobby'})