파이썬으로 몽고db조작시 pymongo 라이브러리 이용!
기본 코드
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
#4가지 기본코드 insert / find/ update / delete
────────────────────────────
아무것도 안나오는것 같지만 ROBO3T에서 확인 할 수있다
*구문은 외우되 괄호등 사용법 하나하나에 집착하지말고!
사용방법만 눈에 익히자
────────────────────────────
for~ in 문을 활용하여 딕셔너리 하나하나의 값을 가져올 수 있다
same_ages = list(db.users.find({},{'_id':False}))
조건없이 모든 db값을 가져오려면 조건칸을 빈칸으로 만들기
user = db.users.find_one({'name':'bobby'})
find_one은 하나의 값만 가져오기!
바비가 여럿이어도 맨 위의 바비만 가져온당
────────────────────────────
바비를 찾아서 age값을 19로 업데이트
모든 바비를 찾아서 age를 바꿔라!
굉장히 위험하기때문에 잘 사용하지않는다
────────────────────────────
잘 사용하지X
잘 사용하지X
저장 - 예시
doc = {'name':'bobby','age':21}
db.users.insert_one(doc)
한 개 찾기 - 예시
user = db.users.find_one({'name':'bobby'})
여러개 찾기 - 예시 ( _id 값은 제외하고 출력)
same_ages = list(db.users.find({'age':21},{'_id':False}))
바꾸기 - 예시
db.users.update_one({'name':'bobby'},{'$set':{'age':19}})
지우기 - 예시
db.users.delete_one({'name':'bobby'})
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
맨 위에 기본 코드양식 붙여넣기
print(rank,title,point)
대신에 딕셔너리 변수에 저장하고 반복문을 돌려서 넣나?
애초에 내가 적은곳이 반복문의 안이었다...
rank, title, star변수에 하나씩 들어가며 반복되는 반복문
그 반복문 안에 딕셔너리를 만들고 만들어질때마다 inser문을 이용하여 movies db에 넣기!
깔끔하게 들어갔다!
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
## 코딩 할 준비 ##
target_movie = db.movies.find_one({'title':'매트릭스'})
print (target_movie['star'])
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
## 코딩 할 준비 ##
target_movie = db.movies.find_one({'title':'매트릭스'})
target_star = target_movie['star']
movies = list(db.movies.find({'star':target_star}))
for movie in movies:
print(movie['title'])
https://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1
이렇게 만들기!
힌트:순위와 곡제목이 깔끔하게 나오지 않을 거예요. 옆에 여백이 있다던가, 다른 글씨도 나온다던가.. 파이썬 내장 함수인 strip()
을 잘 연구해보세요!
파이썬 문자열자르기? 파이썬 공백제거?
import requests
from bs4 import BeautifulSoup
from pymongo import MongoClient
client = MongoClient('localhost', 27017)
db = client.dbsparta
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://www.genie.co.kr/chart/top200?ditc=D&ymd=20200403&hh=23&rtm=N&pg=1',headers=headers)
soup = BeautifulSoup(data.text, 'html.parser')
trs = soup.select('.list-wrap > tbody > tr')
for tr in trs:
number = tr.select_one(' td.number').text[0:2].strip()
title = tr.select_one(' td.info > a.title').text.strip()
artist = tr.select_one(' td.info > a.artist ').text
print(number,title,artist)
.strip() 공백제거
.text[0:2] 0번째 인덱스부터 2개글자