Python, mongoDB

qkrrnjswo·2023년 3월 22일
0

온보딩 커리큘럼

목록 보기
14/17

웹개발 종합반

1. 3주차

1-6. VC 가상환경만들기

     1. 폴더하나 만들기
     2. 터미널 git bash로 설정
     3. 인터프리터 선택(원하는 파이썬 버전)
     4. python -m venv venv (가상의 라이브러리 폴더 만들어짐)
     5. 인터프리터 venv를 선택
     6. 터미널 git bash를 설정, venv가 뜨면 성공


     

1-8. 크롤링 기본

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('url',headers=headers)

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:
        print(a.text)

1-10. mongoDB

    RDBMS(SQL)
    	행/열의 생김새가 정해진 엑셀에 데이터를 저장하는 것과 유사
        중간에 열을 하나 더하기는 어렵다
        데이터의 일관성이나 / 분석에 용이
        
    No-SQL
		딕셔너리 형태로 데이터를 저장해두는 DB 
        데이터 하나 하나 마다 같은 값들을 가질 필요가 없다 
        자유로운 형태의 데이터 적재에 유리한 대신, 일관성이 부족

1-11. mongoDB 연결하기

    1. mongoDB 가입하기
    2. 가상환경에 라이브러리 추가 pip install pymongo dnspython
    3. mongoDB 조작
    	from pymongo import MongoClient
		client = MongoClient('여기에 URL 입력/비번입력')
		db = client.dbsparta
        doc = {
            'name' : '홍길동',
            'age' : 24
        }
        db.user.insert_one(doc)
	

1-13. pymongo로 DB조작하기

# DB연결하기 & 데이터 넣기
db.users.insert_one({'name':'영희','age':30})
db.users.insert_one({'name':'철수','age':20})
db.users.insert_one({'name':'john','age':30})

# 모든 데이터 뽑아보기
all_users = list(db.users.find({},{'_id':False}))
print(all_users[0])         # 0번째 결과값을 보기
print(all_users[0]['name']) # 0번째 결과값의 'name'을 보기
for a in all_users:      # 반복문을 돌며 모든 결과값을 보기
    print(a)
    
#특정 결과 값을 뽑아 보기
user = db.users.find_one({})
print(user)

#수정하기
db.users.update_one({'name':'영수'},{'$set':{'age':19}})
user = db.users.find_one({'name':'영수'})
print(user)

#t삭제하기(거의 안씀)
db.users.delete_one({'name':'영수'})
user = db.users.find_one({'name':'영수'})
print(user)

백준

2-1 1015. 수열정렬

	A를 오름차순 정렬할때 각 원소가 어디로 정렬될지만 알면 됨
    
    

2-1 1026. 보물

	Max(A) x Min(B) or Max(B) x Min(A)
    둘중 하나로 계산하면됨
    

0개의 댓글