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)
둘중 하나로 계산하면됨